# LayaAirエンジンミニゲームSDK利用ガイド
TIP
アクセスする前に、アクセス前アクセス前準備。
GitHubでGitHub (opens new window)SDKソースを取得できます。
LayaAir SDKサポートプラットフォーム: iOS、Android、Web、WeChatゲーム、Huawei Fastゲーム、Bilibiliゲーム、vivoゲーム、OPPOゲーム、Xiaomi Fastゲーム、百度ゲーム、QQゲーム、淘宝クリエイティブインタラクティブアプレット、Alipayゲーム、WKWebView。
**最新バージョン:**バージョン: 2.0.22.0.2
**更新時間は、**2021-12-31
# I.統合SDK
# 1.1 SDKの導入
ダウンロードと解凍LayaAir SDK (opens new window)
# 1.2 SDKの初期化
TASDK導入後、コード内でThinkingAnalyticsAPIを使用できます:
// TA SDK 配置对象
var config = {
appId: "YOUR_APPID", // 项目 APP ID
serverUrl: "YOUR_SERVER_URL", // 上报地址
autoTrack: {
appShow: true, // 自动采集 ta_mg_show
appHide: true // 自动采集 ta_mg_hide
}
};
// 创建 TA 实例
var ta = new ThinkingAnalyticsAPI(config);
// 初始化
ta.init();
// 上报一个简单事件, 事件名为 test_event
ta.track("test_event");
TA設定オブジェクトパラメーターは次のとおりです。
appId
:プロジェクトのAPP ID、必須、TAバックエンドプロジェクト管理ページで確認できserverUrl
:データ報告URL、必須- クラウドサービスを使用している場合は、次のように入力します https://ta-receiver.thinkingdata.io
- もしあなたが私有化配置のバージョンを使っているなら、メインテナスさんに報告住所
autoTrack
:オプションで、自動収集機能をオンにするかどうかを示します。各要素はそれぞれ次の自動収集イベントを表し、デフォルトではすべてオフになっていますappShow
:自動的に収集ミニゲームが起動するか、バックグラウンドからフロントに入るappHide
:ミニゲームを自動的に収集してフロントからバックグラウンドに入り、この訪問(起動からバックグラウンドへの呼び出し)の時間
enableNative
:ネイティブコードの呼び出しを許可します(詳しくはネイティブサポート)
注意
データを報告する前に、WeChatパブリックプラットフォームまたは他のプラットフォームの開発設定で、データ転送URLをサーバードメイン名のrequestリストに追加してください
自動収集イベントの詳細については、自動収集自動収集イベントセクション
# 第二に、ユーザIDを設定
SDKの統合後、SDKはUUIDを各ユーザーのデフォルトのゲストIDとして使用します。UUIDは、ユーザーがデバイスを交換し、キャッシュをクリーンアップするときに変更されることに注意してください。
# 2.1ゲストIDの設定
ユーザーのゲストIDとして別のIDを使用する場合は、identify
またはauthorizeOpenID
を呼び出してゲストIDを設定できます(2つのメソッドは同等です。
// 传入值为 openid
ta.authorizeOpenID("OpenID");
// identify 等价于 authorizeOpenID
ta.identify("OpenID");
次の点に注意してください。
- 設定後のOpenIDはゲストID
#distinct_id
され、login
着信アカウントIDを使用する場合は、ユーザー識別ルールに従ってアカウントIDが優先され - 設定が必要な場合は、initの前にこのインターフェイス
# 2.2アカウントIDの設定
ユーザーがログイン行為をしたとき、login
ユーザーのアカウントIDを設定できます。TAプラットフォームはIDとしてアカウントIDを優先し、設定されたアカウントIDは保存され、複数回のログイン
は以前のアカウントIDを上書きします
// 用户的登录唯一标识,此数据对应上报数据里的 "#account_id",此时 "#account_id" 的值为 "ABC_123456"
ta.login("ABC_123456");
// 再次调用 login 调整账号 ID,此时"#account_id" 的值为 "XYZ_987654"
ta.login("XYZ_987654");
この方法では、ユーザーがログインしたイベントはアップロードされません
# 2.3アカウントIDのクリア
ユーザーがログアウトした後、ログアウト
てアカウントIDをクリアできます
。次回loginを呼び出す前に、ゲストIDをIDとして使用します
// 去除上报数据里的 "#account_id",之后的数据将不带有 "#account_id"
ta.logout();
この方法では、ユーザーが登録したイベントはアップロードされません
# 三、事件を送る
を直接呼び出すことtrack
アップロードカスタムイベントを直接呼び出すことができます。イベントの属性と情報を送信する条件を設定することをお勧めします。
ta.track(
"Purchase", // 追踪事件的名称
{
Item: "商品A",
ItemNum: 1,
Cost: 100,
Elements: ["apple", "ball", "cat"]
} // 需要上传的事件属性
);
track
インターフェイスには2つのパラメーターがあり、最初のパラメーターはイベントの名前、2番目のパラメーターはイベントのプロパティ- イベントの名前は文字列で、文字で始まるだけで、数字、文字、下線「_」を含めることができ、長さは最大50文字で、文字の大文字と小文字には敏感ではない。
- イベントのプロパティはJSオブジェクトで、各要素はプロパティを表します。
- 要素のnameは、数字、文字、下線の「_」を含む文字でのみ開始できることを規定するプロパティの名前に対応し、最大50文字の長さで、文字の大文字と小文字には敏感ではありません。
- 要素のvalueは、String、
String
、Number
、Boolean
、Date
、Array.
注: Array Typeプロパティは、TA Platform 2.5以降のバージョンと連携する必要があります
# 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" });
# 3.3共通属性の設定
ユーザーのデバイスID、ソースチャネル、ユーザーステータスなどの重要なプロパティは、イベントごとに設定する必要があります。イベントを送信する前に、パブリックプロパティを設定することをお勧めします。
共通属性には、イベント共通属性と動的共通属性の2種類が含まれます。イベントに通知すると、共通のプロパティがデータのプロパティに挿入されます。この時点でパブリックプロパティがイベントで設定されたカスタムプロパティと同じkey値を持つ場合、プロパティは次の優先順位に従ってどの値を取るかを決定します
ユーザー定義イベントプロパティ>動的共通プロパティ>イベント共通プロパティ
# 3.3.1イベント共通プロパティの設定
イベント共通プロパティとは静的な共通プロパティのことで、設定時に定数しか渡さず、安定した不変のプロパティを設定するのに適しています。setSuperProperties
共通イベントプロパティを設定できます。共通イベントプロパティのフォーマット要件はイベントプロパティと一致します。
プロパティの優先度に応じて、カスタムプロパティの優先度はイベントパブリックプロパティよりも高いため、イベントパブリックプロパティは、変更が必要なイベントで同じ名前の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オブジェクトを返さなければなりません。属性形式はイベント属性と一致する必要がある。
# 四、ユーザー属性
# 4.1ユーザ属性の設定(userSet)
一般的なユーザープロパティでは、userSet
を呼び出して設定し、インターフェイスを使用してアップロードされたプロパティが元のプロパティ値を上書きし、以前にユーザープロパティが存在しない場合は新しいユーザープロパティ
// 设置用户属性,会员等级
ta.userSet({ vip_level: "钻石会员" });
イベントをアップロードしたときのイベント属性と一致して、ここに渡されたユーザー属性もオブジェクトタイプで、nameは属性の名前に対応して、文字で始まるだけで、数字、文字と下線「_」を含むことを規定して、長さは最大50文字で、文字の大文字と小文字に敏感ではなく、valueはこの属性の値で、String、Number
、Number
、Boolean
、Date
とArray
。
注: Arrayタイプは、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)
userAppendを呼び出すことこと
ができますArray(List)型のユーザーデータ追加要素。
ta.userAppend({ Elements: [("a": 1), ("b": 2)] });
注:この機能は、TA Platform 2.5以降のバージョンで使用
# V.自動収集イベント
インスタンスを作成する設定で自動的に収集するイベントを開くと、SDKはミニゲームの動作を自動的に収集します。
現在サポートされている自動収集データは次のとおりです
- ミニゲームがフロントに戻るイベント
- ミニゲームはバックグラウンドに入り、この訪問(起動からバックグラウンドへ)の時間を
次に、各データの収集方法を詳しく紹介します
# 5.1自動収集イベントを開く
configでは、パラメーターautoTrack
の要素は、各自動取得イベントのスイッチをtrue
に設定します。
var config = {
appid: "YOUR_APPID",
server_url: "YOUR_SERVER_URL",
autoTrack: {
appShow: true, // 自动采集 ta_mp_show
appHide: true // 自动采集 ta_mp_hide
}
};
appShow
:自動的に収集ミニゲームが起動するか、バックグラウンドからフロントに入るappHide
:自動収集ミニゲームがフロントからバックグラウンドに入る
# 5.2自動収集イベントの詳細
# 5.2.1ミニゲーム起動
ミニゲームの開始は、ミニゲームが開始されたとき、またはミニゲームがバックグラウンドからフロントに戻されたときにトリガーされます。詳細なイベントは次のとおりです
- イベント名: ta_mg_show
- 自動取得プロパティ:
#scene
、シーン値、WeChatから提供されるシーン値
ミニゲーム起動は、アウト前のバックグラウンドの影響を受ける(本数が多い)ため、直接分析するのにはあまり適していないが、行動経路でユーザーの一度の使用を識別することができ、ユーザー行動経路の初期行動
# 5.2.2ミニゲーム隠し
ミニゲームの非表示は、ミニゲームがバックグラウンドに呼び出されたときにトリガーされ、この時間が記録されます。詳細なイベントは次のとおりです
- イベント名: ta_mg_hide
- 自動取得プロパティ:
#scene
、シーン値、WeChatから提供されるシーン値#duration
、数値型は、今回の起動(ta_mp_show)から非表示までの持続時間を
ミニゲーム隠しイベントは使用時間(単位は秒)を記録するので、ユーザーの使用総時間と一人当たりの時間を直接計算したり、初期化回数で割って一回の使用時間を計算したりできます。
# 六、その他の機能
# 6.1マルチインスタンス
この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.initInstance("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コールバック関数
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はデバッグモードをサポートしており、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をとる |
#スクリーンの高さ | 画面の高さ | 1920等のユーザ装置の画面高さ |
#画面幅 | 画面の幅 | 1080等のユーザ装置の画面高さ |
#メーカー | 機器メーカー | Apple、vivoなどのユーザーデバイスのメーカー |
#os_バージョン | オペレーティングシステムのバージョン | iOS 11.2.2、Android 8.0.0等 |
#os | オペレーティングシステム | Android、iOSなど |
#ネットワークタイプ | ネットワークの状態 | アップロードイベント時のネットワーク状態 |
#lib | SDKタイプ | MG(ミニゲーム)などSDKにアクセスするタイプ |
#リブバージョン | SDKバージョン | SDKのバージョンにアクセスします |
#シーン | シーン値 | WeChatミニゲーム起動時の着信シーン値 |
#mp_プラットフォーム | ミニゲームプラットフォーム | アプリケーションのプラットフォームを識別します |
#ゾーンオフセット | タイムゾーンオフセット | UTC時刻に対するデータ時刻のオフセット時間数 |
# 7.2自動収集イベントのプリセットプロパティ
以下のプリセット属性は、各自動収集イベントに特有のプリセット属性
- ミニゲーム隠し(ta_mp_hide)のプリセットプロパティ
プロパティ名 | 日本語の | 説明 |
---|---|---|
#期間 | イベントの長さ | ta_mp_showを起動 起動 してta_mp_hide ta_mp_hide までの持続時間を秒単位で表します |
# 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、国の都市情報はサービス側で解決して生成され、クライアントはインタフェースを提供せずにこれらの属性
# 八、高度な機能
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 属性被删除
# ナイン、ネイティブサポート
# 9.1 iOS Nativeサポート
- ビルドの準備
- Webプラットフォームアプリケーションを公開し、公開テキストパスを記録
- ビルド構成
- を開く
メニュー
-ツール
-appビルド
インターフェイス - プロジェクトタイプ選択
XCode iOS
、チェックチェックスタンドアロン版
- リソースパスWebプラットフォームアプリケーションの公開パスを選択します
- を開く
# 9.1.1 iOSプロジェクトの設定
- iOSプロジェクトを追加する
LayaProxyApi. h
LayaProxyApi.mm
Thinking SDK.フレームワーク
- Build Settings設定
その他のリンカーフラッグ
追加-ObjC
# 9.2 Android Nativeサポート
- ビルドの準備
- Webプラットフォームアプリケーションを公開し、公開テキストパスを記録
- 構成の構築
- 開き
メニュー-ツール-アプリ構築
インターフェイス - プロジェクトタイプ選択
Android studio
、チェックチェックスタンドアロン版
- [リソースパス]Webプラットフォームアプリの公開パスを選択します
- 開き
# 9.2.1 Androidプロジェクトの設定
- Adnroidプロジェクトを追加する
LayaProxyApi.java
- で
Project
レベルでのProject
レベルでの構成依存
buildscript {
repositories {
jcenter()
mavenCentral()
}
}
- の
Module
プロジェクトディレクトリのディレクトリ
に依存関係を追加
dependencies {
implementation 'cn.thinkingdata.android:ThinkingAnalyticsSDK:2.7.3'
}
# 9.3ネイティブサポートを開く
SDKを初期化するときは、configにenableNative:: trueを追加
してネイティブサポートを有効にします。
// TA SDK 配置对象
var config = {
appId: "YOUR_APPID", // 项目 APP ID
serverUrl: "YOUR_SERVER_URL", // 上报地址
enableNative: true, // 允许调用 Native 代码
autoTrack: {
appShow: true, // 自动采集 启动事件
appHide: true, // 自动采集 关闭事件
appClick: true, // 自动采集 点击事件(仅 native 生效)
appView: true, // 自动采集 浏览事件(仅 native 生效)
appCrash: true, // 自动采集 崩溃事件(仅 native 生效)
appInstall: true // 自动采集 安装事件(仅 native 生效)
}
};
// 创建 TA 实例
var ta = new ThinkingAnalyticsAPI(config);
// 初始化
ta.init();
// 上报一个简单事件, 事件名为 test_event
ta.track("test_event");
# リリースノート
v2.0.2 2021/12/31
- サポートアリペイ、淘宝クリエイティブインタラクティブなどのミニゲーム
- コード最適化
v2.0.1 2021/11/15
- コード最適化
v2.0.0 2021/09/15
- iOS/Android Native対応
- サポート一時停止/開始、停止/再開データ報告
- サポートイベントブラックリスト
- コード最適化
v1.8.2 2021/06/24
- プレハブ属性取得のサポート
- fix bug:ネイティブ/webプラットフォームの実行時に、ネットワーク再接続が切断されたことによるデータ送信失敗問題
v1.8.0 2020/11/20
- 新しいビープ音ゲームのサポート
- 完璧なゲームエンジンサポート: tsプロジェクトアクセス
- 完全なゲームエンジンのサポート:一般的なミニゲーム、速いゲームプラットフォーム(Huawei、Xiaomi、OPPO、VIVO)、H5ゲーム
- 他のコードの詳細レベルの最適化
v1.7.0 2020/08/24
- 最初のイベントのサポート、更新可能なイベント、書き換え可能なイベント
v1.6.0 2020/06/10
- デバッグモードのサポート
v1.5.1 2020/03/21
- 白鷺エンジンゲームプラットフォームのサポート: WeChatミニゲーム、百度ミニゲーム、QQミニゲーム、VIVOミニゲーム、OPPOミニゲーム
- LAYABOXエンジンミニゲームプラットフォームのサポート: WeChatミニゲーム、百度ミニゲーム、QQミニゲーム、VIVOミニゲーム、OPPOミニゲーム
- CocosCreatorエンジンミニゲームプラットフォームのサポート: WeChatミニゲーム、百度ミニゲーム、VIVOミニゲーム、OPPOミニゲーム