# マルチ - インスタンス
# 機能紹介
複数AppidにSDKインスタンスの作成に対応できます。マルチインスタンスといいます。
マルチインスタンスを通して、複数プロジェクトへのデータ送信が可能になります。
# マルチインスタンスを作成
複数APP IDをインポートしSDK初期設定を完了させると複数SDKインスタンスを作成できます。
// initialize SDK
TDAnalytics.init(this, TA_APP_ID, TA_SERVER_URL);
TDAnalytics.init(this, ANOTHER_TA_APP_ID, TA_SERVER_URL);
TDAnalyticsAPI.track("some_event",properties, TA_APP_ID);
TDAnalyticsAPI.track("some_event",properties, ANOTHER_TA_APP_ID)
注意:APP IDは異なる必要があります。マルチインスタンスの間のデータは共用しません
# ライトインスタンスを作成
ライトインスタンスのメソットで、同じAPPIDの元で複数インスタンスを作成できます。
//create an SDK instance first
TDAnalytics.init(this, TA_APP_ID, TA_SERVER_URL);
//call createLightInstance through previously-created instances to generate lightweight instances
String uuid = TDAnalytics.lightInstance();
TDAnalyticsAPI.login("anotherAccount",uuid);
TDAnalyticsAPI.track("some_event",properties,uuid);
サブライトインスタンスはメインインスタントのAPPID、data receiverのURL及び一部設定は一致で、その他の情報は共用しません。
# マルチインスタンスの間のデータ共用
ほとんどのインターフェイスはインスタンス オブジェクトによって呼び出されるため、ほとんどのデータと設定は複数の APPID インスタンス、メインインスタンス、およびライトインスタンス間で共用されませんが、一部のデータと設定はすべてのインスタンスで有効になります。以下はすべての詳細:
- アカウント情報
- システムでデフォルトで生成したゲストID
#distinct_id
:共用 identify
を呼び出して設定した#distinct_id
:不共用login
を呼び出して設定した#account_id
:不共用
- イベントデータの
track
とユーザープロパティデータのuser_set
、user_setOnce
、user_add
、user_delete
:不共用 - 共通プロパティ
setSuperProperties
と動的共通プロパティsetDynamicSuperPropertiesTracker
:不共用 - SDK設定情報:
- データ送信ポリシー(送信間隔時間と毎回送信数):共用、一個目のインスタンスのAPPIDのプロジェクトデータによって決定される
- 送信のネット条件
setNetworkType
:共用 - データLogプリント
EnableTrackLogging
:共用
- 自動収集イベント
- 1つのインスタンス上で自動収集イベントを有効にするのを推奨
- 複数のAPP IDに自動収集イベントを送信対応
- 自動収集イベントの設定はマルチインスタンスに共有状況:
setViewID
設定:不共用- カスタムページビュープロパティ
setViewProperties
など:不共有 - 特定のページの自動収集イベントを無視
ignoreAutoTrackActivity
など:不共有 - 特定のタイプビューのクリックイベントを無視
ignoreViewType
:不共有 - 特定のビューを無視
ignoreView
:不共有 - 全ての注釈:appIdパラメータ設定でインスタンスを指定できます。指定しない場合は全てのインスタンス共有:
@ThinkingDataIgnoreTrackAppViewScreen(appId = "debug-appid")
- イベント時間経過を記録
timeEvent
:不共有