目录
此内容是否有帮助?

# マルチ - インスタンス

# 機能紹介

複数AppidにSDKインスタンスの作成に対応できます。マルチインスタンスといいます。

マルチインスタンスを通して、複数プロジェクトへのデータ送信が可能になります。

# マルチインスタンスを作成

複数APP IDをインポートしSDK初期設定を完了させると複数SDKインスタンスを作成できます。

// initialize SDK
ThinkingAnalyticsSDK instance1 = ThinkingAnalyticsSDK.sharedInstance(this, TE_APP_ID, TE_SERVER_URL);
ThinkingAnalyticsSDK instance2 = ThinkingAnalyticsSDK.sharedInstance(this, ANOTHER_TE_APP_ID, TE_SERVER_URL);

instance1.track("some_event",properties);
instance2.track("some_event",properties);

注意:APP IDは異なる必要があります。マルチインスタンスの間のデータは共用しません

# ライトインスタンスを作成

ライトインスタンスのメソットで、同じAPPIDの元で複数インスタンスを作成できます。

  //create an SDK instance first
  ThinkingAnalyticsSDK instance = ThinkingAnalyticsSDK.sharedInstance(this, TE_APP_ID, TE_SERVER_URL);

  //call createLightInstance through previously-created instances to generate lightweight instances
  ThinkingAnalyticsSDK lightInstance = instance.createLightInstance();

  lightInstance.login("anotherAccount");
  lightInstance.track("some_event",properties);

サブライトインスタンスはメインインスタントの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:不共有