目录
此内容是否有帮助?

# マルチ - インスタンス

# 機能紹介

マルチ-インスタンス機能は、複数の SDK インスタンスを作成して、独自の Appid に基づいてデータ追跡を実行できます。つまり、データを複数の Appid に送信できます。

なお iOS SDK バージョン 2.1.0 では、新しい ライト-インスタンス 機能が追加され、同じ Appidの複数のサブライト-インスタンスの生成が対応できます。 ライト-インスタンスはメインインスタンスの Appid と一致していますが、アカウントなどの情報は不一致となります。

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

iOS SDK 1.2.0以降のバージョンはSDK初期設定方法および複数SDKインスタンスの作成方法:

  // initialize SDK
  ThinkingAnalyticsSDK *instance = [ThinkingAnalyticsSDK startWithAppId:APP_ID withUrl:SERVER_URL];

  [instance track:@"event_name" properties:eventProperties];
  // [[ThinkingAnalyticsSDK sharedInstanceWithAppid:APP_ID] track:@"event_name" properties:eventProperties];

  // before 1.2.0
  // [[ThinkingAnalyticsSDK sharedInstance] track:@"event_name" properties:eventProperties];
  //ThinkingAnalyticsSDK *instance2 = [ThinkingAnalyticsSDK startWithAppId:APP_ID2 withUrl:SERVER_URL2];

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

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

iOS SDK 2.1.0バージョンは、ライトインスタンスのメソットで、同じAPPIDの元で複数インスタンスを作成できます。


  //create an SDK instance first
  ThinkingAnalyticsSDK *instance = [ThinkingAnalyticsSDK startWithAppId:APP_ID withUrl:SERVER_URL];

//call createLightInstance through previously-created instances to generate lightweight instances
  ThinkingAnalyticsSDK *lightInstance  = [instance createLightInstance];

  [lightInstance login:@"123ABCabc@thinkingdata.cn"];
  [lightInstance track:@"some_event" properties:eventProperties];

サブライトインスタンスはメインインスタントの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:共用
  1. 自動収集イベント
  • 1つのインスタンス上で自動収集イベントを有効にするのを推奨
  • 複数のAPP IDに自動収集イベントを送信対応
  • 自動収集イベントの設定は一つのAPPIDインスタンスのみ有効可能
  1. イベント時間経過を記録timeEvent:不共有