ミニアプリ&ミニゲーム
接続する前に、まず接続前の準備をお読みください。
ゲームエンジンでミニゲームを開発している場合は、一般的なゲームエンジンの統合プランを参照してください:Egret Engine、LayaAir、CocosCreator。
最新バージョン: v3.8.1 ダウンロード(ミニアプリ) ダウンロード(ミニゲーム)
更新日: 2026-09-29
リソースのダウンロード: ソースコード
このドキュメントはv3.0.0以降のバージョンに適用されます。以前のバージョンについては、ミニアプリ&ミニゲーム接続ガイド(V2)、ミニアプリSDKダウンロード(v2.2.4)、ミニゲームSDKダウンロード(v2.2.4)を参照してください
ミニアプリ&ミニゲームSDKは、一般的なミニアプリプラットフォーム、クイックアプリ、ミニゲームプラットフォーム向けに、データ送信機能を実現する標準APIを提供します。現在対応しているプラットフォームと対応するファイルは次のとおりです:
ミニアプリ:
- WeChatミニプログラム: tdanalytics.wx.min.js
- Baiduミニプログラム: tdanalytics.swan.min.js
- Douyinミニプログラム: tdanalytics.tt.min.js
- Alipayミニプログラム: tdanalytics.my.min.js
- DingTalkミニプログラム: tdanalytics.dd.min.js
- Kuaishouミニプログラム: tdanalytics.ks.min.js
- クイックアプリ: tdanalytics.quick.min.js
- QQミニプログラム:tdanalytics.qq.min.js
- JDミニプログラム:tdanalytics.jd.min.js
- 360ミニプログラム:tdanalytics.qh.min.js
ミニゲーム:
- WeChatミニゲーム: tdanalytics.mg.wx.min.js
- QQミニゲーム: tdanalytics.mg.qq.min.js
- Douyinミニゲーム: tdanalytics.mg.tt.min.js
- Baiduミニゲーム: tdanalytics.mg.swan.min.js
- bilibiliミニゲーム: tdanalytics.mg.bl.min.js
- Huaweiクイックゲーム: tdanalytics.mg.huawei.min.js
- OPPOクイックゲーム: tdanalytics.mg.oppo.min.js
- vivoクイックゲーム: tdanalytics.mg.vivo.min.js
- Meizuクイックゲーム: tdanalytics.mg.mz.min.js
- Honorクイックゲーム: tdanalytics.mg.honor.min.js
- Xiaomiクイックゲーム: tdanalytics.mg.xiaomi.min.js
- Taobaoミニゲーム:tdanalytics.mg.tb.min.js
- Kuaishouミニゲーム:tdanalytics.mg.ks.min.js
- Alipayミニゲーム:tdanalytics.mg.my.min.js
- Meituanミニゲーム:tdanalytics.mg.mt.min.js
- JDミニゲーム:tdanalytics.mg.jd.min.js
- H5ミニゲーム
- UCミニゲーム
- Facebookミニゲーム
1. SDKの統合
- ミニアプリ
- クイックアプリ
- ミニゲーム
ミニアプリSDKをダウンロードし、app.jsで対応するSDKファイルを読み込みます(WeChatミニプログラムの例):
var TDAnalytics = require("./tdanalytics.wx.min.js");
SDKを読み込んだら、SDKインスタンスを作成してデータの送信を開始できます:
// AE SDKの設定オブジェクト
var config = {
appId: "YOU-APP-ID", // プロジェクトのAPP ID
serverUrl: "https://youserverurl.com", // データの送信先URL
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を自動収集
}
};
// 初期化
TDAnalytics.init(config);
AEの設定オブジェクトのパラメーターは次のとおりです:
-
appId: プロジェクトのAPP IDです。必須です。AEの「プロジェクト管理」ページで確認できます -
serverUrl: データの送信先URLです。必須です- クラウドサービスを利用している場合は、次を入力します: https://global-receiver-ta.thinkingdata.cn
- プライベートデプロイ版を利用している場合は、送信先URLを運用担当者に確認してください
-
enableBatch:データをいったんローカルにキャッシュしてから、まとめて送信します。デフォルトはfalseです -
autoTrack:任意です。自動収集機能を有効にするかどうかを表し、各要素はそれぞれ次の自動収集イベントを表します。デフォルトではすべて無効です:appLaunch:ミニアプリの初期化を自動収集します。1回の利用につき1回だけトリガーされますappShow:ミニアプリの起動、またはバックグラウンドからフォアグラウンドへの移行を自動収集appHide:ミニアプリがフォアグラウンドからバックグラウンドに移ったことを自動収集し、今回の訪問(起動からバックグラウンドに移るまで)の時間を記録しますpageShow:ミニアプリのページの表示またはフォアグラウンドへの切り替えを自動収集し、ページのパスと遷移元のパスを記録しますpageShare:ミニアプリでの転送・シェアを自動収集し、転送時のページを記録します
自動収集イベントの詳細については、自動収集イベントの節を参照してください
ミニアプリSDKをダウンロードし、app.uxで対応するSDK
ファイルtdanalytics.quick.min.jsを読み込みます:
var TDAnalytics = require("./tdanalytics.quick.min.js");
その後、SDKインスタンスを作成してデータの送信を開始できます:
// AE SDKの設定オブジェクト
var config = {
appId: "YOU-APP-ID", // プロジェクトのAPP ID
serverUrl: "https://youserverurl.com", // データの送信先URL
persistenceComplete(ta) {
// 非同期ストレージの初期化が完了したときのコールバック。キャッシュ関連の削除操作などを行えます
//TDAnalytics.clearSuperProperties();
}
};
// 初期化
TDAnalytics.init(config);
AEの設定オブジェクトのパラメーターは次のとおりです:
-
appId: プロジェクトのAPP IDです。必須です。AEの「プロジェクト管理」ページで確認できます -
serverUrl: データの送信先URLです。必須です- クラウドサービスを利用している場合は、次を入力します: https://global-receiver-ta.thinkingdata.cn
- プライベートデプロイ版を利用している場合は、送信先URLを運用担当者に確認してください
-
persistenceComplete: 任意。クイックアプリのキャッシュは非同期で読み込まれるため、キャッシュの読み込みが完了する前にキャッシュ関連のフィールドを照会・削除すると、想定と異なる結果になることがあります。初期化段階でのキャッシュの照会と削除を正しく実行するには、
persistenceCompleteコールバック内で関連する操作を完了する必要があります。キャッシュ関連のデータには、ユーザーID(#account_idと#distinct_id)、デバイスID、共通イベントプロパティなどが含まれます。
persistenceCompleteの補足説明:
非同期呼び出しによって生じるSDKの状態の問題に対応するため、各インスタンスにReady状態を設けています。次の条件がすべて満たされたとき、インスタンスはReadyになったとみなされます:
- システム情報の取得完了:プラットフォームが提供する
getSystemInfo()を呼び出してシステム情報を取得します - キャッシュ情報の読み込み完了:クイックアプリはキャッシュを非同期で読み込みます
- ユーザーが
TDAnalytics.init()を明示的に呼び出したこと
インスタンスがReady状態になるまでは、送信されるすべてのデータをキャッシュし、インスタンスの初期化完了後にキャッシュをクリアすることで、状態の正しさを保証します。
キャッシュを非同期で読み込む各段階では、次の点に特に注意してください:
- キャッシュ情報がまだ読み込まれていない間も、共通プロパティの設定やアカウントのログインは行えます。
- キャッシュの読み込みが完了すると、それまでキャッシュにあった値を新しい値で上書きします。
- キャッシュの読み込みが完了する前に、以前キャッシュされた情報の削除や読み取りを伴う関数を呼び出しても、実際のキャッシュ内のデータは読み取りも削除もできません。
上記の3点目については、初期化時にコールバック関数(persistenceComplete)を渡すことで、呼び出し順序を保証できます。
注意:クイックアプリは現在、自動収集イベントに対応していません
ミニゲームSDKをダウンロードし、game.jsで対応するSDKファイルを読み込みます(WeChatミニゲームの例):
var TDAnalytics = require("./tdanalytics.mg.wx.min.js");
// AE SDKの設定オブジェクト
var config = {
appId: "YOUR_APPID", // プロジェクトのAPP ID
serverUrl: "YOUR_SERVER_URL", // 送信先URL
autoTrack: {
appShow: true, // ta_mg_showを自動収集
appHide: true // ta_mg_hideを自動収集
}
};
// 初期化
TDAnalytics.init(config);
AEの設定オブジェクトのパラメーターは次のとおりです:
-
appId: プロジェクトのAPP IDです。必須です。AEの「プロジェクト管理」ページで確認できます -
serverUrl: データの送信先URLです。必須です- クラウドサービスを利用している場合は、次を入力します: https://global-receiver-ta.thinkingdata.cn
- プライベートデプロイ版を利用している場合は、送信先URLを運用担当者に確認してください
-
autoTrack:任意です。自動収集機能を有効にするかどうかを表し、各要素はそれぞれ次の自動収集イベントを表します。デフォルトではすべて無効です:appShow:ミニゲームの起動、またはバックグラウンドからフォアグラウンドへの移行を自動収集appHide:ミニゲームのフォアグラウンドからバックグラウンドへの移行を自動収集し、今回のアクセス(起動からバックグラウンドへの移行まで)の時間を記録
データを送信する前に、WeChat公式プラットフォームまたはその他のプラットフォームの開発設定で、データ転送URLをサーバードメインのrequestリストに追加してください。
2. よく使う機能
よく使う機能を使用する前に、まずユーザー識別ルールを確認することをお勧めします。SDKはデフォルトで乱数を生成してゲストIDとし、ゲストIDをローカルに永続的に保存します。ユーザーがログインするまでは、ゲストIDが識別IDとして使われます。注意:ゲストIDは、ユーザーがキャッシュを削除したり、デバイスを変更したりすると変わります。
2.1 アカウントIDの設定
ユーザーがログインしたときにloginを呼び出して、ユーザーのアカウントIDを設定できます。AEプラットフォームはアカウントIDを識別IDとして使用し、設定したアカウントIDはlogoutを呼び出すまで保持されます。loginを複数回呼び出すと、以前のアカウントIDが上書きされます
// ユーザーのログイン時の一意の識別子。このデータは送信データの#account_idに対応し、この場合#account_idの値はTAになります
TDAnalytics.login("TA");
このメソッドはログインイベントを送信しません
2.2 共通イベントプロパティの設定
共通イベントプロパティとは、すべてのイベントに付与されるプロパティのことです。setSuperPropertiesを呼び出して共通イベントプロパティを設定できます。イベントを送信する前に、共通イベントプロパティを設定しておくことを推奨します。ユーザーの会員レベルや流入チャネルなどの重要なプロパティは、すべてのイベントに設定する必要があります。その場合は、これらのプロパティを共通イベントプロパティとして設定できます。
var superProperties = {
channel : "ta",
age : 1,
isSuccess : true,
birthday : new Date(),
object : { key : "value" },
object_arr : [ { key : "value" } ],
arr : [ "value" ]
};
TDAnalytics.setSuperProperties(superProperties);
共通イベントプロパティはキャッシュに保存されるため、起動するたびに呼び出す必要はありません。setSuperPropertiesを呼び出して以前に設定済みの共通イベントプロパティを送信した場合は、以前のプロパティが上書きされます。
- Keyはプロパティの名前で、文字列型です。英字で始まり、数字、英字、アンダースコア"_"のみを含めることができます。最大長は50文字です。英字の大文字と小文字は区別されず、AEではすべて小文字に変換されます
- Valueはプロパティの値で、文字列、数値、ブール値、時間、オブジェクト、オブジェクトグループ、配列に対応しています
イベントプロパティとユーザープロパティの要件は、共通イベントプロパティと同じです
2.3 イベントの送信
trackを呼び出してイベントを送信できます。事前に整理したトラッキングドキュメントに従って、イベントのプロパティと送信条件を設定することをお勧めします。ここでは、ユーザーが商品を購入する場合を例にします:
TDAnalytics.track({
eventName: "product_buy", // イベント名
properties: {
product_name: "商品名"
} //イベントプロパティ
});
イベント名は文字列型で、英字で始まり、数字、英字、アンダースコア"_"を含めることができます。最大長は50文字です。
2.4 ユーザープロパティの設定
一般的なユーザープロパティは、userSetを呼び出して設定できます。このインターフェースで送信したプロパティは、既存のプロパティ値を上書きします。そのユーザープロパティが以前に存在しない場合は新しく作成され、タイプは渡されたプロパティのタイプと同じになります。ここでは、ユーザー名の設定を例にします:
//この時点でusernameはTA
TDAnalytics.userSet({
properties: {
username: "TA"
}
});
//この時点でusernameはAE
TDAnalytics.userSet({
properties: {
username: "AE"
}
});
3. ベストプラクティス
以下のサンプルコードには上記のすべての操作が含まれています。次の手順で使用することをお勧めします
- ミニアプリ
- クイックアプリ
- ミニゲーム
SDKを読み込んだら、SDKインスタンスを作成してデータの送信を開始できます:
var TDAnalytics = require("./tdanalytics.wx.min.js");
var config = {
appId: "YOU-APP-ID", // プロジェクトのAPP ID
serverUrl: "https://youserverurl.com", // データの送信先URL
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を自動収集
}
};
// 初期化
TDAnalytics.init(config);
// ユーザーのログインの一意な識別子です。このデータは送信データの#account_idに対応し、この場合#account_idの値はTAになります
TDAnalytics.login("TA");
//共通イベントプロパティを設定
var superProperties = {
channel : "ta", //文字列
age : 1,//数値
isSuccess : true,//ブール値
birthday : new Date(),//時間
object : { key : "value" },//オブジェクト
object_arr : [ { key : "value" } ],//オブジェクトグループ
arr : [ "value" ]//配列
};
TDAnalytics.setSuperProperties(superProperties);
//イベントを送信
TDAnalytics.track({
eventName: "product_buy", // イベント名
properties: {
product_name: "商品名"
} //イベントプロパティ
});
//ユーザープロパティを設定
TDAnalytics.userSet({
properties: {
username: "AE"
}
});
app.uxで対応するSDK(tdanalytics.quick.min.js)を読み込みます
これで、SDKインスタンスを作成してデータの送信を開始できます:
var TDAnalytics = require("./tdanalytics.quick.min.js");
// AE SDKの設定オブジェクト
var config = {
appId: "YOU-APP-ID", // プロジェクトのAPP ID
serverUrl: "https://youserverurl.com", // データの送信先URL
persistenceComplete(ta) {
// 非同期ストレージの初期化が完了したときのコールバック。キャッシュ関連の削除操作などを行えます
//TDAnalytics.clearSuperProperties();
}
};
// 初期化
TDAnalytics.init(config);
// ユーザーのログインの一意な識別子です。このデータは送信データの#account_idに対応し、この場合#account_idの値はTAになります
TDAnalytics.login("TA");
//共通イベントプロパティを設定
var superProperties = {
channel : "ta", //文字列
age : 1,//数値
isSuccess : true,//ブール値
birthday : new Date(),//時間
object : { key : "value" },//オブジェクト
object_arr : [ { key : "value" } ],//オブジェクトグループ
arr : [ "value" ]//配列
};
TDAnalytics.setSuperProperties(superProperties);
//イベントを送信
TDAnalytics.track({
eventName: "product_buy", // イベント名
properties: {
product_name: "商品名"
} //イベントプロパティ
});
//ユーザープロパティを設定
TDAnalytics.userSet({
properties: {
username: "AE"
}
});
game.jsで対応するSDKファイルを読み込みます(WeChatミニゲームの例)。SDKを読み込んだら、SDKインスタンスを作成してデータの送信を開始できます:
var TDAnalytics = require("./tdanalytics.mg.wx.min.js");
var config = {
appId: "YOUR_APPID", // プロジェクトのAPP ID
serverUrl: "YOUR_SERVER_URL", // 送信先URL
autoTrack: {
appShow: true, // ta_mg_showを自動収集
appHide: true // ta_mg_hideを自動収集
}
};
//初期化
TDAnalytics.init(config);
// ユーザーのログインの一意な識別子です。このデータは送信データの#account_idに対応し、この場合#account_idの値はTAになります
TDAnalytics.login("TA");
//共通イベントプロパティを設定
var superProperties = {
channel : "ta", //文字列
age : 1,//数値
isSuccess : true,//ブール値
birthday : new Date(),//時間
object : { key : "value" },//オブジェクト
object_arr : [ { key : "value" } ],//オブジェクトグループ
arr : [ "value" ]//配列
};
TDAnalytics.setSuperProperties(superProperties);
//イベントを送信
TDAnalytics.track({
eventName: "product_buy", // イベント名
properties: {
product_name: "商品名"
} //イベントプロパティ
});
//ユーザープロパティを設定
TDAnalytics.userSet({
properties: {
username: "AE"
}
});

