セグメント - 単一デスティネーション(デバイスモード)

Singular SDKはSegmentのプラグインとして利用でき、「デバイスモード」デスティネーションと呼ばれます。以下に、SegmentにSingular Destinationを追加する方法を説明します。

ガイド エンジニアリングチーム
前提条件 この記事では、 Segment iOS または Android Analytics SDKがすでに アプリに統合されていることを前提としています。

このインテグレーションを使用するには、SegmentのMobile Analytics SDK for iOS (Native Obj-CまたはSwift)、Android (JavaまたはKotlin)を使用している必要があります。このインテグレーションは、Unity、Factual Engine、React Native、Xamarinなどの他のフレームワークとは互換性がありません

サポート内容
  1. 基本インストール
  2. SkAdNetwork 3 サポート (SKAN 3.0)
  3. Apple検索広告アトリビューション
  4. カスタムアプリ内イベントトラッキング
  5. 収益トラッキング
  6. カスタムユーザーID
サポート対象外
  1. SkAdNetwork 4 サポート (SKAN 4.0)
  2. METAインストールのリファラー帰属
  3. ディープリンク
  4. 限定的なデータ共有サポート

他のフレームワークのサポートが必要な場合、またはSingular SDKが提供する「フルフィーチャー機能」をご希望の場合は、Segmentとは別にSingular SDKを実装する必要があります。SDKオプションとフレームワークについてはこちらをご覧ください。

はじめに

  1. Segmentウェブアプリから、"Connections "メニューの下にある "Catalog "をクリックします。
  2. カタログで"Singular "を検索して選択し、"Add Destination "ボタンをクリックします。
  3. デスティネーションに接続するソースを選択し、"Next "をクリックします。
  4. 接続先に名前を付け、"接続先を作成 "をクリックします。
  5. Singularダッシュボードの"Developer Tools > SDK Integration > SDK Keys "からSingularの"SDK KEY "を取得し、セグメントの "Connection Settings "の "API Key "と "Secret "に追加します。

    mceclip0.png

重要: SegmentのAPI Key値には必ずSingular SDK Keyを使用してください。間違ったキーを使用すると、Singularはデータを受信できません。

追加セットアップ

この統合のネイティブ専用機能を使用するには、依存関係設定に以下の行を追加してSingularライブラリをインクルードする必要があります:

iOSの場合

iOS用セグメントアナリティクス

  1. Link Binary With Librariesに AdServices.frameworkを追加し、Optional(iOS 14.3以上のデバイスでのみ利用可能)とマークします。 これは、Apple Search Adsのアトリビューションをサポートするために必要です。
  2. 以下のように、Singular Segment統合ポッドをアプリのポッドファイルに追加します:
    pod 'Segment-Singular' 
  3. ファイルにSingularライブラリをインポートします:
    #import <Segment-Singular/SEGSingularIntegrationFactory.h>
  4. 最後に、SingularをSegment SDKに登録します。
    Obj-C Swift
    SEGAnalyticsConfiguration *configuration = 
    [SEGAnalyticsConfiguration configurationWithWriteKey:@”<SEGMENT_WRITE_KEY>”];
    
    // Enable this to record certain application events automatically!
    configuration.trackApplicationLifecycleEvents = YES;
    // Enable this to record screen views automatically!
    configuration.recordScreenViews = YES;
    // Add any of your Device-mode destinations.
    configuration use:[SingularIntegrationFactory instance]];
    [SEGAnalytics setupWithConfiguration:configuration];
  5. [オプション] SKANサポートの実装

    Singular SDKは、SKAdnetworkの統合を制御することができます。 この仕組みの詳細については、iOS SDKを参照してください:SKAdNetworkサポートの追加を参照してください。

    SingularにSKAdNetworkインテグレーションを制御させるには、Segment SDKの初期化の前に以下のコードを追加してください:

    Obj-C Swift
    [SingularIntegation setSKANOptions:YES
      isManualSkanConversionManagementMode: NO
      withWaitForTrackingAuthorizationWithTimeoutInterval:@0
      withConversionValueUpdatedHandler:^(NSInteger conversionValue) {
          NSLog(@"Your SKAN handler %ld",conversionValue);
      }];
Androidの場合

Android用セグメント分析

  1. アプリのbuild.gradleファイルにSingular Segmentの統合依存関係を追加します:
    compile 'net.singular.segment.integration:singular_segment_sdk:+'
  2. AndroidManifest.xmlファイルに必要なパーミッションを追加します。以下のパーミッションを含める:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="BIND_GET_INSTALL_REFERRER_SERVICE" />
  3. 依存関係を追加した後、統合をインポートする必要があります。
    import net.singular.segment.integration.SingularIntegration;
  4. 最後に、Singular SDKを初期化するコードを追加します。

    .trackApplicationLifecycleEvents() を追加して、アプリのオープン、アプリのアップデート、アプリのインストールイベントをSingularに送信します。

    static final String SEGMENT_WRITE_KEY = "<YOUR_KEY>";
    @Override protected void onCreate(Bundle savedInstanceState) {
    Analytics analytics = new Analytics.Builder(this , SEGMENT_WRITE_KEY) .use(SingularIntegration.FACTORY .logLevel(Analytics.LogLevel.VERBOSE) .recordScreenViews() .trackApplicationLifecycleEvents() .build(); Analytics.setSingletonInstance(analytics); }

アトリビューションのインストール

初期化設定パラメータ(iOSAndroid)を使用して、ライフサイクルイベント(アプリケーションのオープン、アプリケーションのインストール、アプリケーションの更新)の自動トラッキングを有効にし、Singularのインストールとセッションをトラッキングします。上記のイベントを含む限り、Singularの「セッション」は統合によって自動的に送信されます。

カスタムイベントのトラッキング

Segmentの仕様に慣れていない方は、Trackメソッドが何をするのかを理解するためにご覧ください。

イベントを翻訳してSingularに送信するには、Segmentのトラック機能を使います:

iOS (Obj-C) Android (Java)
[[SEGAnalytics sharedAnalytics] track:@"simple event"];

SegmentはすべてのイベントプロパティをSingularイベントのコールバックパラメータとして含みます。

イベントはレポートやユーザーレベルのエクスポートで利用できます。

収益トラッキング

収益プロパティを含むイベントが送信されると、Singularは収益トラッキングを受け取ります(ゼロ値を含む)。オプションで通貨を(ISO 4217通貨コードコードとして)渡すことができます。デフォルトの通貨はUSDです。

iOS (Obj-C) Android (Java)
[[SEGAnalytics sharedAnalytics] track:@"segment revenue event" properties:@{@"currency": @"USD", @"revenue":@20}];

注:通貨は3文字のISO 4217通貨コードとして渡します(例:"USD"、"EUR"、"INR")。

カスタムユーザーID

セグメントユーザーIDをSingularに送信するには、Segmentidentifyメソッドを使用します。

注: SingularのCross-Deviceソリューションをご利用の場合は、すべてのプラットフォームで同じUserIDを収集する必要があります。

  • ユーザーIDはどのような識別子でもかまいませんが、PII(個人を特定できる情報)を公開するものではありません。 例えば、ユーザーのメールアドレス、ユーザー名、電話番号は使用しないでください。Singularは、お客様のファーストパーティデータにのみユニークなハッシュ値を使用することを推奨します。
  • Singularに渡すユーザーIDは、すべてのプラットフォーム(ウェブ/モバイル/PC/コンソール/オフライン)で同じ内部ユーザーIDを使用する必要があります。
  • Singularはユーザーレベルのエクスポート、ETL、内部BIポストバック(設定されている場合)にユーザーIDを含めます。ユーザーIDはファーストパーティデータであり、Singularが他者と共有することはありません。
  • 設定されたユーザーIDの値は、Segmentresetメソッドを使用して設定が解除されるか、アプリがアンインストールされるまで保持されます。アプリを終了または再起動しても、ユーザーIDは解除されません。

iOS、Androidの設定方法は以下の通りです。

iOS (Obj-C) Android (Java)
[[SEGAnalytics sharedAnalytics] identify:@"segment custom user id"];

カスタムユーザーIDの設定を解除するには、リセットメソッドを呼び出します。

[[SEGAnalytics sharedAnalytics] reset];