目录
此内容是否有帮助?

# アプレット/ミニゲーム SDK 利用ガイド

TIP

アクセスする前に、アクセス前アクセス前準備

GitHub でGitHub (opens new window)アプレット/ミニゲーム SDK のソースコードを入手できます。

を使用してミニゲームを開発する場合は、よく使用されるゲームエンジンの統合シナリオをお読みください:Egret 白鷺エンジンLayaAirCocosCreator.

**最新バージョン:**バージョン: 2.0.22.0.2

**更新時間は、**2021-12-31

ダウンロードアドレス:アプレット (opens new window),ミニゲーム (opens new window)

アプレット/ミニゲーム SDK は、一般的なアプレットプラットフォーム、高速アプリケーション、およびミニゲームプラットフォームに、データ報告機能を実装するための標準 API インターフェイスを提供します。現在、サポートされているプラットフォームと対応するテキストは次のとおりです。

小さなプログラム:

  • WeChat アプレット:thinkingdata.wx.min.js
  • 百度アプレット:thinkingdata.swan.min.js
  • バイトダンス小さなプログラム:thinkingdata.tt.min.js
  • アリペイアプレット:thinkingdata.my.min.js
  • ディントークアプレット:thinkingdata.dd.min.js
  • 快手アプレット:thinkingdata.ks.min.js
  • クイックアプリケーション:thinkingdata.quick.min.js

ミニゲーム:

  • WeChat ミニゲーム:thinkingdata.mg.wx.min.js
  • QQ 小僧:thinkingdata.mg.qq.min.js
  • ゲームの特徴:thinkingdata.mg.tt.min.js
  • 百度ゲーム:thinkingdata.mg.swan.min.js
  • ビービービービービーゲーム:thinkingdata.mg.bl.min.js
  • ファーウェイ速いゲーム:thinkingdata.mg.huawei.min.js
  • POPO 快挙:thinkingdata.mg.oppo.min.js
  • ライブ快游戏:thinkingdata.mg.vivo.min.js
  • Meizu 速いゲーム:thinkingdata.mg.mz.min.js
  • Xiaomi クイックゲーム:thinkingdata.mg.xiaomi.min.js
  • H5 ミニゲーム
  • UC ミニゲーム
  • Facebook ゲーム

# I.統合 SDK

WARNING

データを報告する前に、WeChat パブリックプラットフォームまたは他のプラットフォームの開発設定で、データ転送 URL をサーバードメイン名の request リストに追加してください

# II。SDK の設定

前述の例のように、initメソッドを呼び出して SDK の初期化を完了する必要があります

ta.init();

初期化メソッドinitた後、データが実際に報告されます。これにより、データが報告されるタイミングを制御し、データが報告される前に SDK に必要な設定(ユーザー ID、パブリックイベントプロパティなど)が完了していることを確認できます。

# 2.1 ゲスト ID の設定

SDK はデフォルトでランダムにゲスト ID を生成してユーザーを識別します。呼び出すことができますidentifyインターフェイスカスタムゲスト ID:

// 设置访客 ID, 对应上报数据中的 #distinct_id
ta.identify("your_own_anonymous_id");

TIP

プロンプト initinitインターフェイスの呼び出しが完了する前にゲスト ID を設定します WeChat open ID をゲスト ID として使用する必要がある場合は、open ID のコールバックでidentify呼び出してゲスト ID を設定し、initinit完了

SDK の初期化

# 2.2 アカウント ID の設定

ユーザーがログイン行為をしたとき、loginを呼び出してユーザーのアカウント ID を設定できます TA プラットフォームは、ID としてアカウント ID を優先する(ユーザ識別ルール

設定されたアカウント ID は保存され、複数回のログインは以前のアカウント ID を上書きします

// 设置账号 ID,对应上报数据里的 #account_id
ta.login("ABC_123456");

ユーザーがログアウトした後、ログアウトてアカウント ID をクリアできます。次回ログインする前に、ゲスト ID を ID として使用します

// 去除上报数据里的 #account_id 字段
ta.logout();

注意

ログインログアウトメソッドは、アカウント ID の設定とクリアにのみ使用されます。

# 2.3 パブリックイベントプロパティの設定

TIP

共通イベント属性は、すべてイベント(自動収集イベントを含む)に含まれる属性で、ユーザー属性には含まれない。

このセクションでは、パブリックイベントプロパティと動的パブリックプロパティを設定する方法について説明します。パブリックプロパティがイベントで設定されたカスタムプロパティと同じ key 値を持つ場合、最終的なプロパティは次の優先順位に従って値を取ります

ユーザー定義イベントプロパティ>動的共通プロパティ>イベント共通プロパティ

# 3.3.1 イベント共通プロパティの設定

を呼び出して、共通イベントプロパティを設定できます。設定時に定数しか渡さないので、変更が頻繁でない属性を設定するのに適しています。

プロパティの優先度に応じて、カスタムプロパティの優先度はイベントパブリックプロパティよりも高いため、イベントパブリックプロパティは、変更が必要なイベントで同じ名前の Key オーバーライドを設定するプロパティのデフォルト値としても使用できます。

//设置公共事件属性
ta.setSuperProperties({ channel: "渠道" });

//使用track上传事件,此时事件中会带有公共事件属性
ta.track(
  "Purchase", //追踪事件的名称
  {
    Item: "商品A",
    ItemNum: 1,
    Cost: 100
  } //需要上传的事件属性
);

/* 等价于在事件中加入这些公共属性
ta.track(
    'Purchase', //追踪事件的名称
    {
        Item:'商品A',
        ItemNum:1,
        Cost:100,
        channel:'渠道' //相当于在事件中加入这个属性
    }
);
*/

複数回呼び出し共通イベントプロパティを設定すると、同じ名前のフィールドの後ろにある呼び出しが、以前の異なる名前のセグメントを上書きします。

を削除する必要がある場合は、unsetSuperProperty()、パブリックイベントプロパティのいずれかをクリアできますclearSuperProperties();すべてのパブリックイベントプロパティを取得する場合は、getSuperProperties;

// 清除属性名为 CHANNEL 的公共属性
ta.unsetSuperProperty("CHANNEL");

//清除公共事件属性
ta.clearSuperProperties();

//获取静态公共事件属性
ta.getSuperProperties();

# 3.3.2 動的共通属性の設定

を呼び出してインターフェイス、コールバック関数を呼び出して動的共通プロパティを設定できます。コールバック関数の戻り値は、イベントプロパティに共通プロパティとして追加されます

// 通过动态公共属性设置 UTC 时间作为事件属性上报
ta.setDynamicSuperProperties(() => {
  var localDate = new Date();
  return {
    utcTime: new Date(
      localDate.getTime() + localDate.getTimezoneOffset() * 60000
    )
  };
});

コールバック関数は、各要素が属性を表す JS オブジェクトを返す必要があります。属性形式はイベント属性と一致する必要がある。

# 三、事件を送る

を直接呼び出すことトラックアップロードカスタムイベントを直接呼び出すことができます。イベントのプロパティと情報を送信する条件を設定することをお勧めします。

ta.track(
  "Purchase", //追踪事件的名称
  {
    Item: "商品A",
    ItemNum: 1,
    Cost: 100,
    Elements: ["apple", "ball", "cat"]
  } //需要上传的事件属性
);
  • trackインターフェイスには 2 つのパラメーターがあり、最初のパラメーターはイベントの名前、2 番目のパラメーターはイベントのプロパティ
  • イベントの名前は文字列で、文字で始まるだけで、数字、文字、下線「_」を含めることができ、長さは最大 50 文字で、文字の大文字と小文字には敏感ではない。
  • イベントのプロパティは JS オブジェクトで、各要素はプロパティを表します。
  • 要素の name は、数字、文字、および下線「_」を含む文字でのみ開始できることを規定するプロパティの名前に対応し、最大 50 文字の長さであり、文字の大文字と小文字には敏感ではありません。
  • 要素の value は、String、StringNumberBooleanDateArray.

    注: Array Type プロパティは v1.5.0 以降のバージョンでサポートされており、TA Platform 2.5 以降のバージョンと連携する必要があります

アプレット SDK は、アプレットの起動時(onlaunch)にシーン値を取得します。シーン値を取得できれば、今回のアプレットのライフサイクルでは、すべてのイベントに#sceneシーン値という属性が付きます。

# 3.1 イベント報告時間の設定

イベントがトリガーされる時刻はデフォルトではネイティブ時刻ですが、場合によってはイベントの時刻を手動で設定する必要がある場合があり、次の方法で呼び出すことができます

//第三个参数,可以输入Date类型的参数,替换事件触发时间
ta.track("event", { parakey: "paravalue" }, new Date());

//如果没有properties需要上传,请传入一个空对象
ta.track("event", {}, new Date());
  • 3 番目のパラメーターはイベントトリガー時間で、Date 型である必要があります。イベントトリガーの時間が置き換えられます。パラメーターが渡されない場合、イベントトリガー時間はデフォルトでユーザーのネイティブ時間を選択

# 3.2 記録された事件の長さ

を呼び出してtimeEvent計時を開始し、計時したいイベント名を設定します。イベントをアップロードすると、自動的にイベントプロパティに#durationを追加して、レコードの長さを秒で表します。

//用户进入商品页面,开始计时,记录的事件为"Enter_Shop"
ta.timeEvent("Enter_Shop");

//...

//上传事件,计时结束,"Enter_Shop"这一事件中将会带有表示事件时长的属性#duration
ta.track("Enter_Shop", { product_id: "A1354" });

# 四、ユーザー属性

# 4.1 ユーザ属性の設定(userSet))

一般的なユーザープロパティでは、userSetことで、インターフェイスを使用してアップロードされたプロパティが元のプロパティ値を上書きし、以前にユーザープロパティが存在しない場合は新しいユーザープロパティ

//设置用户属性,会员等级
ta.userSet({ vip_level: "钻石会员" });

イベントをアップロードするときのイベント属性と一致して、ここに渡されたユーザー属性もオブジェクトタイプで、name は属性の名前に対応して、文字で始まることしかできないことを規定して、数字、文字と下線「_」を含んで、長さは最大 50 文字で、文字の大文字と小文字に敏感ではなく、value はこの属性の値で、String をサポートString

数字ブール値日付配列

注: Array タイプは v1.5.0 以上でサポートされており、TA プラットフォーム 2.5 以降で使用する必要があります

# 4.2 ユーザープロパティの初期化(userSetOnce))

アップロードするユーザープロパティが一度設定されている場合は、userSetOnce を呼び出し呼び出して設定できます。プロパティに値がある場合は無視されます。

//以设置用户名为例,如果用户名已设置,则忽略本次设置,如果不存在,则设置为传入值
ta.userSetOnce({ user_name: "TA" });

userSetOnce のパラメーター要件は userSet と一致します。

# 4.3 ユーザ属性の蓄積(userAdd)

数値型のプロパティをアップロードする場合は、userAddを呼び出してアキュムレータ操作を実行できます。プロパティが設定されていない場合は、0 を割り当ててから計算

//以付费为例,用户每次付费时调用此接口,则'total_revenue'字段每次会做累加付费金额的处理
ta.userAdd({ total_revenue: 50 });

イベントをアップロードするときのイベント属性と一致して、ここに渡されたユーザー属性もオブジェクトタイプで、name は属性の名前に対応して、文字で始まることしかできないことを規定して、数字、文字と下線「_」を含んで、長さは最大 50 文字で、文字の大文字と小文字には敏感ではなく、value はこの属性が蓄積する必要がある値で、Number だけをサポートNumber

タイプ、着信負数は減算に相当します。

# 4.4 ユーザープロパティのリセット(userUnset))

ユーザーのユーザープロパティの値を空にする場合は、userUnsetを呼び出して指定したプロパティを空にすることができます。プロパティがクラスター内に作成されていないは作成しません

//清空属性名为userPropertykey的用户属性值该用户,即设置成NULL
ta.userUnset("userPropertykey");

# 4.5 ユーザーの削除(userDel))

を削除する場合、userDel を呼び出し削除すると、そのユーザーのユーザープロパティを照会することはできなくなりますが、そのユーザーが生成したイベントは引き続き照会でき

ta.userDel();

# 4.6 Array 型のユーザープロパティの追加要素(userAppend)

v1.5.0 以降、userAppend を呼び出しArray(List)タイプのユーザーデータ追加要素を作成できます。

ta.userAppend({ Elements: [("a": 1), ("b": 2)] });

注:この機能は、TA Platform 2.5 以降のバージョンで使用

# V.自動収集イベント

バージョン 1.2.0 以降では、自動収集機能を提供しています。インスタンスを作成する config で自動収集が必要なイベントを開くだけで、SDK はアプレットの動作を自動的に収集します。現在、主に次のイベントが自動収集をサポートしています

現在サポートされている自動収集データは次のとおりです

  1. アプレットの初期化は、ユーザーが一度に使用すると一度だけトリガーされます
  2. 小さなプログラムが起動し、起動とバックグラウンドでフロントに戻る
  3. アプレットはバックグラウンドに入り、このアクセス(起動からバックグラウンド)の時間
  4. アプレットページはフロントに表示または切り込み、ページのパスとフォワードパス
  5. アプレットは転送共有を行い、転送時のページを自動的に記録

次に、各データの収集方法を詳しく紹介します

# 5.1 自動収集イベントを開く

config では、パラメーターautoTrackの要素は、各自動取得イベントのスイッチをtrueに設定します。

var config = {
  appid: "YOU-APP-ID",
  server_url: "https://youserverurl.com",
  autoTrack: {
    appLaunch: true, // 自动采集 ta_mp_launch
    appShow: true, // 自动采集 ta_mp_show
    appHide: true, // 自动采集 ta_mp_hide
    pageShow: true, // 自动采集 ta_mp_view
    pageShare: true // 自动采集 ta_mp_share
  }
};
  • appLaunch:アプレットの自動初期化
  • appShow:アプレットを自動的に収集して起動するか、バックグラウンドからフロントに入る
  • appHide:自動収集アプレットがフロントからバックグラウンドに入る
  • pageShow:アプレットのページ表示やフロントに切り込む
  • pageShare:アプレットを自動的に収集して転送共有

異なるプラットフォームは、実行環境と構造的な理由で、異なる自動収集イベントをサポートしています。サポートリストは

プラットフォーム
appLaunch
appShow
appHide
ページショー
ページシェア
小さなプログラム





ミニゲーム


# 5.2 自動収集イベントの詳細

# 5.2.1 アプレットの初期化

アプレットの初期化は、アプレットが初めて開かれたとき、またはユーザーがプロセスを殺して再び開かれたときにトリガーされ、プロセスのライフサイクル内に一度だけトリガーされます。詳細なイベントは次のとおりです

  • イベント名: ta_mp_launch
  • 自動収集プロパティ:#scene、シーン値、WeChat から提供されるシーン値

アプレットでイベントを初期化すると、毎日のユーザー使用回数、一人当たりの使用回数を計算できます。

# 5.2.2 マイナー起動

アプレットの起動は、アプレットが起動されたとき、またはアプレットがバックグラウンドからフロントに戻されたときにトリガーされます。詳細なイベントは次のとおりです

  • イベント名: ta_mp_show
  • 自動取得プロパティ:
  • #scene、シーン値、WeChat から提供されるシーン値
  • #url_path、ページパス、アプレット起動表示されたページのパス

アプレットの起動は、呼び出し前のバックグラウンドの影響を受ける(本数が多い)ため、直接分析するのにはあまり適していないが、行動経路でユーザーの一度の使用を識別することができ、ユーザーの行動経路の初期行動

# 5.2.3 マイナー隠し

アプレットの非表示は、アプレットがバックグラウンドに呼び出されたときにトリガーされ、今回使用した時間が記録されます。詳細なイベントは次のとおりです

  • イベント名: ta_mp_hide
  • 自動取得プロパティ:
    • #scene、シーン値、WeChat から提供されるシーン値
    • #duration、数値型は、今回の起動(ta_mp_show)から非表示までの持続時間を

アプレット隠しイベントは使用時間(単位は秒)を記録するので、ユーザーの使用総時間と一人当たりの時間を直接計算したり、初期化回数で割って一回の使用時間を計算したりできます。

# 5.2.4 アプレットページ閲覧

アプレットのページ閲覧は、アプレットのページが開かれたとき、またはアプレットがバックグラウンドからフロントのページに戻ったときにトリガーされ、ページのパスとアクセスの順方向パスが記録されます。詳細なイベントは次のとおりです

  • イベント名: ta_mp_view
  • 自動取得プロパティ:
    • #scene、シーン値、WeChat から提供されるシーン値
    • #url_path、ページパス、つまり表示されるページのパス
    • #referrer、順方向パス、ページが表示される前のページのパス、つまりジャンプ前パスは、アプレットを起動したときに表示されるトップページであれば「直接開く」

アプレットページでイベントを閲覧すると、各ページの pv、uv、ユーザーがアプレットにアクセスする使用経路を計算できます。

# 5.2.5 アプレットページ転送共有

アプレットページ転送共有は、転送ボタンがクリックされたときにトリガーされます(右上のナビゲーションバーの転送ボタン、ページの転送ボタンを含む)。詳細なイベントは次のように

  • イベント名: ta_mp_share
  • 自動取得プロパティ:
    • #scene、シーン値、WeChat から提供されるシーン値
    • #url_path、ページパス、つまり転送時のページパス

アプレットページ転送共有イベントは、ページの共有率を分析するのに適しており、ページ転送を最適化するのに役立ちます。

# VI。その他の機能

# 6.1 マルチインスタンス

v1.3.0 以降、この SDK はマルチインスタンスをサポートしています。上記で説明した方法で初期化を完了したインスタンス ta をメインインスタンスと呼び、本節で説明した方法で作成したインスタンスをサブインスタンスと呼ぶ。

複数のインスタンス間でデバイス関連のプリセット属性(デバイス ID を含む)が共有され、その他の属性は共有されません

  • #distinct_idゲスト ID
  • #account_idアカウント ID
  • 共通イベントプロパティ、動的共通プロパティ
  • timeEvent監視されるイベント

サブインスタンスを作成することで、別のプロジェクトにデータを報告したり、別のユーザー ID でデータを報告したりできます。

// 创建子实例 tt, 子实例默认配置与主实例相同
ta.initInstance("tt");

// 为子实例设置访客 ID
ta.tt.identify("another_distinct_id");

// 通过子实例上传事件
ta.tt.track("event_from_tt_instance");

// 创建不同配置的子实例
var config = {
  appid: "ANOTHER-APP-ID",
  enablePersistence: true // 为子实例开启本地缓存
};

ta.init("tt_1", config);
ta.tt_1.track("event_from_tt_instance");

# 6.2 デバイス ID の取得

を呼び出してgetDeviceId()デバイス ID を取得すると、実行環境のため、デバイス ID はローカルキャッシュに保存され、ユーザーがキャッシュを削除すると、デバイス ID が変更されるため、デバイス ID が安定していること

var deviceId = ta.getDeviceId();

# 6.3 onCompelete コールバック関数

v1.3.1 以降、track、userSet、userSetOnce、userAdd、userDel などのインターフェイスでは、着信 onComplete コールバックがサポートされています元のパラメータリストの後に直接 onComplete,

パラメータオブジェクトを使用することもできます。パラメーターオブジェクトを使用する場合は、パラメーターオブジェクトに onComplete を含める必要があります。そうしないと、パラメーターエラーが発生します

上記のイベントの例:

// 以参数列表的形式传入回调
ta.track("test", { testkey: 123 }, new Date(), res => {
  console.log(res);
});

// 以参数对象的形式传入回调
ta.track({
  eventName: "test", // 必填
  properties: { testkey: 123 }, // 可选
  time: new Date(), // 可选
  onComplete: res => {
    console.log(res);
  } // 必填
});

onComplete のパラメータ res はオブジェクト型で、2 つの属性 code と msg がある

res.code は int 型で、次のように定義されます。

  • 0:成功
  • -1:データ形式が正しくない
  • -2: APP ID が無効です
  • -3:ネットワークまたはサービス側の例外

Debug モードは次のように定義されます

  • 0:成功
  • -1:パラメータまたは権限チェックの問題
  • 1:フィールドの基本的なエラーを表し、詳細なエラーフィールドと原因を
  • 2:エラー全体を表します
  • -3:ネットワークまたはサービス側の例外

res.msg は res.code のテキスト説明です。

# 6.4 Debug モードを有効にする

v1.6.0 以降、クライアント SDK は Debug モードをサポートしており、TA Platform 2.5 以降のバージョンで使用する必要があります。

Debug モードは、データ収集の品質とアプリの安定性に影響を与える可能性があります。

現在の SDK インスタンスでは、次の 3 つの実行モードがサポートされています

  • "none": Debug を開かない
  • "debug": Debug モードをオンにしてライブラリに
  • "debugOnly":ライブラリなしで Debug モードを有効にします

SDK の初期化:

var config = {
  appid: "YOUR_APPID",
  server_url: "YOUR_SERVER_URL",
  debugMode: "debug"
};
var ta = new TA(config);

Debug モードが本番環境でオンラインになるのを避けるため、指定されたデバイスだけが Debug モードをオンにできることを規定する。デバッグモードは、クライアントでデバッグモードがオンになっている場合にのみオンになります。

デバイス ID は、次の 3 つの方法で取得できます。

  • TA プラットフォームのイベントデータの#device_id プロパティ
  • インスタンスインターフェイスを介して呼び出す:デバイス ID を取得

# 七、関連するプリセット属性

# 7.1 すべてのイベントのプリセットプロパティ

次のプリセットプロパティは、アプレット/ミニゲーム SDK のすべてのイベント(自動収集イベントを含む)に含まれるプリセットプロパティ

プロパティ名
日本語の
説明
#ip
IPアドレス
ユーザーのIPアドレス、TAはユーザーの地理的位置情報
#国

ユーザーの国は、IPアドレスに基づいて生成されます
#カントリーコード
国コード
ユーザーがいる国の国コード(ISO 3166-1 alpha-2、つまり2大文字英字)は、IPアドレスに基づいて生成
#県

ユーザーの州、IPアドレスに基づいて生成
#都市
都市
ユーザーの都市は、IPアドレスに基づいて生成されます
#デバイスモデル
デバイスモデル
iPhone 8などのユーザーデバイスのモデル
#デバイス_id
デバイスID
ユーザのデバイスIDは、初期化時に生成されたUUIDをとる
#スクリーンの高さ
画面の高さ
ユーザ装置の画面高さ
#画面幅
画面の幅
1080等のユーザ装置の画面高さ
#メーカー
機器メーカー
Apple、vivoなどのユーザーデバイスのメーカー
#os_バージョン
オペレーティングシステムのバージョン
iOS 1 1.2.2、Android 8.0.0等
#os
オペレーティングシステム
Android、iOSなど
#ネットワークタイプ
ネットワークの状態
アップロードイベント時のネットワーク状態(WIFI、3G、4Gなど
#lib
SDKタイプ
SDKにアクセスするタイプ(MP(アプレット)、MG(ミニゲーム)など
#リブバージョン
SDKバージョン
SDKのバージョンにアクセスします
#シーン
シーン値
WeChatアプレット起動時の着信シーン値
#mp_プラットフォーム
アプレットプラットフォーム
アプリケーションのプラットフォームを識別します
#ゾーンオフセット
タイムゾーンオフセット
UTC時刻に対するデータ時刻のオフセット時間数

# 7.2 自動収集イベントのプリセットプロパティ

以下のプリセット属性は、各自動収集イベントに特有のプリセット属性

  • アプレット起動(ta_mp_show)のプリセットプロパティ
プロパティ名
中国語の
説明
#url_パス
ページパス
アプレットが表示されたページのパスを起動します
  • ウィジェット非表示(ta_mp_hide)のプリセットプロパティ
プロパティ名
中国語の
説明
#期間
イベントの長さ
ta_mp_showを起動

てta_mp_hide
隠すまで
の持続時間を秒単位で表します
  • アプレットページビュー(ta_mp_view)のプリセットプロパティ
プロパティ名
中国語の
説明
#url_パス
ページパス
ページパスは、表示されるページのパスです
#リファラー
フォワードパス
ページが表示される前のページのパス、つまりジャンプ前のパスは、アプレットを起動したときに表示されるトップページであれば「直接開く」
  • アプレットページ転送共有(ta_mp_share)のプリセットプロパティ
プロパティ名
日本語の
説明
#url_パス
ページパス
アプレットが転送されたときのページパス

# 7.3 プレハブ属性の取得

サービス側の埋め込みポイントでアプリ側のプリセット属性が必要な場合、この方法でクライアント側のプリセット属性を取得してサービス側に渡すことができます。

   //获取属性对象
   var presetProperties=ta.getPresetProperties();

           //生成事件预置属性
           var properties=presetProperties.toEventPresetProperties();
   /*
      {
         "#device_model":"iPhone 5",
         "#device_id":"3204487163-1624513721217",
         "#screen_width":320,
         "#screen_height":568,
         "#os":"iOS",
         "#os_version":"10.0.1",
         "#network_type":"wifi",
         "#zone_offset":8,
         "#manufacturer":"Apple"
       }
   */

           //获取某个预置属性
           var os=presetProperties.os;//os类型,如Android
           var osVersion=presetProperties.osVersion;//系统版本号
           var networkType=presetProperties.networkType;//网络类型
           var manufacture=presetProperties.manufacture;//设备制造商
           var deviceModel=presetProperties.deviceModel;//设备型号
           var screenWidth=presetProperties.screenWidth;//屏幕宽度
           var screenHeight=presetProperties.screenHeight;//屏幕高度
           var deviceId=presetProperties.deviceId;//设备ID
           var zoneOffset=presetProperties.zoneOffset;//时区偏移值

IP、国の都市情報はサービス側で解析されて生成され、クライアントはこれらの属性を取得

# 8、高度な機能

v1.7.0 以降、SDK では、最初のイベント、更新可能なイベント、書き換え可能なイベントの 3 種類のイベントの報告がサポートされています。この 3 種類のイベントは TA システム 2.8 と連携する必要がある

以降のバージョンで使用します。特殊事件は特定の場面でしか適用されないので、数科学技術の顧客成功とアナリストの助けを得て、特殊事件を使ってデータを報告してください。

# 8.1 初の事件

初回イベントとは、あるデバイスや他の次元の ID に対して、一度だけ記録されるイベントのことです。たとえば、デバイスで最初に発生したイベントを記録したい場合は、最初のイベントでデータを報告できます。

// 示例:上报设备首次事件, 假设事件名为 DEVICE_FIRST
ta.trackFirstEvent({
  eventName: "DEVICE_FIRST",
  properties: { INT_PROPERTY: 0 }
});

デバイス以外の他のディメンションで初めてかどうかを判断する場合は、初めてのイベントに設定できますファーストチェック ID たとえば、アカウントの最初のイベントを記録する必要があります。アカウント ID を最初のイベントの FIRST_CHECK_ID に設定できます

// 示例:上报用户账号的首次事件, 假设事件名为 USER_FIRST
// 将用户 ID 设置为首次事件的 FIRST_CHECK_ID
ta.trackFirstEvent({
  eventName: "USER_FIRST",
  firstCheckId: "YOUR_ACCOUNT_ID",
  properties: { INT_PROPERTY: 0 }
});

注意:サービス側で初めてかどうかのチェックが完了するため、初めてのイベントはデフォルトで 1 時間遅れて入庫する。

# 8.2 更新可能イベント

更新可能なイベントを使用すると、特定のシナリオでイベントデータを変更する必要がある要件を満たすことができます。更新可能なイベントには、イベントを識別する ID を指定し、更新可能なイベントオブジェクトを作成するときに着信する必要があります。TA バックグラウンドは、イベント名とイベント ID に基づいて更新するデータを決定します。

// 示例: 上报可被更新的事件,假设事件名为 UPDATABLE_EVENT
ta.trackUpdate({
  eventName: "UPDATABLE_EVENT",
  properties: { status: 3, price: 100 },
  eventId: "test_event_id"
});
// 上报后事件属性 status 为 3, price 为 100

ta.trackUpdate({
  eventName: "UPDATABLE_EVENT",
  properties: { status: 5 },
  eventId: "test_event_id"
});
// 上报后事件属性 status 被更新为 5, price 不变

# 8.3 書き換え可能イベント

書き換え可能イベントは更新可能イベントと類似しており、書き換え可能イベントは最新のデータで履歴データを完全にカバーし、効果的には前のデータを削除し、最新のデータを入庫することに相当する。TA バックグラウンドは、イベント名とイベント ID に基づいて更新するデータを決定します。

// 示例: 上报可被重写的事件,假设事件名为 OVERWRITE_EVENT
ta.trackOverwrite({
  eventName: "OVERWRITE_EVENT",
  properties: { status: 3, price: 100 },
  eventId: "test_event_id"
});

// 上报后事件属性 status 为 3, price 为 100
ta.trackOverwrite({
  eventName: "OVERWRITE_EVENT",
  properties: { status: 5 },
  eventId: "test_event_id"
});

// 上报后事件属性 status 被更新为 5, price 属性被删除

# リリースノート

v2.0.2 2021/12/31

  • コード最適化

v2.0.1 2021/11/15

  • コード最適化

v2.0.0 2021/09/15

  • サポート一時停止/開始、停止/再開データ報告
  • サポートイベントブラックリスト
  • コード最適化

v1.8.2 2021/06/24

  • プレハブ属性取得のサポート

v1.8.1 2021/03/08

  • 新しい快手アプレットのサポート

v1.8.0 2020/11/20

  • 新しい Bilibili、Xiaomi、H5 ゲームのサポート
  • 完璧なゲームエンジンサポート: ts プロジェクトアクセス
  • 完全なゲームエンジンのサポート:一般的なミニゲーム、速いゲームプラットフォーム(Huawei、Xiaomi、OPPO、VIVO)、H5 ゲーム
  • 他のコードの詳細レベルの最適化

v1.7.1 2020/08/27

  • サポート Meizu プラットフォーム

v1.7.0 2020/08/24

  • 最初のイベントのサポート、更新可能なイベント、書き換え可能なイベント

v1.6.2 2020/07/23

  • サポートディントークアプレット
  • Huawei Express ゲームのレポート異常を修正

v1.6.1 2020/07/10

  • Huawei クイックゲームをサポート

v1.6.0 2020/06/10

  • デバッグモードのサポート

v1.5.0 2020/02/10

  • プロパティ値サポート Array 型
  • 新しい userAppend インターフェイス
  • ローカルプロパティ値チェックを削除

v1.4.4 2019/12/24

  • 修正 VIVO と OPPO プラットフォーム初めて appHide タイミングなし

v1.4.3 2019/12/20

  • OPPO 高速ゲームネットワークリクエストの最適化

v1.4.2 2019/11/20

  • OPPO、VIVO クイックゲームに対応

v1.4.0 2019/10/22

  • userUnsetuserUnsetインターフェイスを追加しました
  • 新しいプリセットプロパティ#zone_offset、単位は時間です。デフォルトでは、ローカルタイムゾーンのオフセットがサービス側に報告されます。次の式を満たす:
utc_time + #zone_offset = #event_time

v1.3.2 2019/09/29

  • v1.3.1 で導入された一部プラットフォームの互換性問題を修正

v1.3.1 2019/09/27

  • track, userSet, userSetOnce, userAdd, userDel インターフェイスコールバック関数

v1.3.0 2019/08/15

  • コード最適化
    • #network_typeプロパティは、ネットワークの状態に応じて更新されます
    • データ送信内容:ユーザー属性データはプリセット属性を転送せず、送信内容を簡素化
    • 最適化ログ印刷
  • 新しいインターフェース
    • get AcカウントId()
    • geDistinctId()
    • タイムイベント()
    • initInスタンス()
    • 識別()認証Open ID()
    • get Device Id()
    • get SuperProperties()
    • unset SuperProperty()
    • seDynamicSuperProperties()
  • 複数インスタンス
    • を呼び出してinitInstance(name, config)を作成できます
    • 子インスタンスはデフォルトで親インスタンスの構成を使用し、デフォルトではローカルキャッシュ
  • 設定情報
    • enablePersistence親インスタンスは既定で true、子インスタンスは既定で false です
    • asyncPersistence非同期読み取りキャッシュ
    • maxRetriesリクエストが失敗またはタイムアウトした場合のリトライ回数は、デフォルトで 3 回
    • sendTimeoutタイムアウト時間(ミリ秒単位)
    • enableLogログを開くかどうか印刷
  • クロスプラットフォーム
    • 主流の小さなプログラムをサポートする小さなゲームプラットフォーム: WeChat、百度、アリペイ、バイトダンス、速いアプリケーション
    • プリセットプロパティ#mp_platformし、アプリがあるプラットフォームを
    • #libは MP/MG で、それぞれアプレットとミニゲーム