目录
此内容是否有帮助?

# マルチ - インスタンス

# 機能紹介

複数 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:不共有