メインコンテンツまでスキップ

マルチインスタンス

最終更新 2026/08/27

initInstanceメソッドを呼び出すと、サブインスタンスオブジェクトを作成できます。パラメータはサブインスタンスの名前です。その後、この名前でサブインスタンスのインターフェースを呼び出すことができます。

// newInstanceという名前のインスタンスを作成
ta.initInstance("newInstance");
// サブインスタンスにdistinct_idを設定し、test_eventイベントを送信
ta.newInstance.setDistinctId("new_distinct_id");
ta.newInstance.track("test_event");

デフォルトでは、サブインスタンスはメインインスタンスと同じ設定(appId、serverUrlなど)を使用します。また、デフォルトでは、サブインスタンスのローカルキャッシュは有効になりません。

サブインスタンスのパラメータを個別に設定する必要がある場合は、初期化時に設定情報を渡すことができます。設定情報で異なるappIdの値を渡すと、異なるプロジェクトにデータを送信できます:

// サブインスタンスの設定パラメータを定義
var param = {
appId: "debug-appid",
serverUrl: "ANOTHER_SERVER_URL",
persistenceEnabled: true, // サブインスタンスのローカルキャッシュを有効にします。サブインスタンスのローカルキャッシュはサブインスタンス名nameで区別されます
send_method: "image",
showLog: true
};

// サブインスタンスを初期化
ta.initInstance("anotherInstance", param);

//メインインスタンスのプロジェクトにデータを送信
ta.track("Event");

//サブインスタンスのプロジェクトにデータを送信
ta.anotherInstance.track("Event");

メインインスタンスとサブインスタンスの間では、IDシステムも共通プロパティも共有されません。インスタンスごとにユーザーIDを個別に設定できます。次の例では、この特性を利用して、友達招待イベントの招待者と被招待者について、それぞれ招待成功イベントと被招待イベントを送信しています

//メインインスタンスは招待された新規ユーザー、サブインスタンスは招待者
ta.login("invitee");
ta.anotherInstance.login("inviter");
//新規ユーザーが被招待イベントをトリガー
ta.track("be_invited");
//招待者が新規ユーザー招待イベントをトリガー
ta.anotherInstance.track("invite_new_user");
このページは役に立ちましたか?