menu
Is this helpful?

# マルチ - インスタンス

# 機能紹介

複数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 インスタンス、メインインスタンス、およびライトインスタンス間で共用されませんが、一部のデータと設定はすべてのインスタンスで有効になります。以下はすべての詳細:

  1. アカウント情報
  • システムでデフォルトで生成したゲストID#distinct_id:共用
  • identifyを呼び出して設定した#distinct_id:不共用
  • loginを呼び出して設定した#account_id:不共用
  1. イベントデータのtrackとユーザープロパティデータのuser_setuser_setOnceuser_adduser_delete:不共用
  2. 共通プロパティsetSuperPropertiesと動的共通プロパティsetDynamicSuperPropertiesTracker:不共用
  3. SDK設定情報:
  • データ送信ポリシー(送信間隔時間と毎回送信数):共用、一個目のインスタンスのAPPIDのプロジェクトデータによって決定される
  • 送信のネット条件setNetworkType:共用
  • データLogプリントEnableTrackLogging:共用
  1. 自動収集イベント
  • 1つのインスタンス上で自動収集イベントを有効にするのを推奨
  • 複数のAPP IDに自動収集イベントを送信対応
  • 自動収集イベントの設定はマルチインスタンスに共有状況:
  • setViewID設定:不共用
  • カスタムページビュープロパティsetViewPropertiesなど:不共有
  • 特定のページの自動収集イベントを無視ignoreAutoTrackActivityなど:不共有
  • 特定のタイプビューのクリックイベントを無視ignoreViewType:不共有
  • 特定のビューを無視ignoreView:不共有
  • 全ての注釈:appIdパラメータ設定でインスタンスを指定できます。指定しない場合は全てのインスタンス共有:
@ThinkingDataIgnoreTrackAppViewScreen(appId = "debug-appid")
  1. イベント時間経過を記録timeEvent:不共有