Rudderstack - Singular Destination (クラウドモード)

ドキュメント

RudderStackはオープンソースの顧客データプラットフォーム(CDP)であり、企業が顧客データを収集、一元化し、さまざまな宛先にルーティングすることを可能にします。顧客データパイプラインを管理するための一元化されたプラットフォームを提供し、企業がウェブサイト、モバイルアプリ、サーバー、クラウドサービスなど様々なソースからデータを簡単に収集できるようにします。

SingularはRudderstackからiOSとAndroidモバイルアクティビティ用のSingular Server-to-Server (S2S) REST APIを介してイベントデータを受け取ることができます。これは"クラウドモード "デスティネーションと呼ばれます。以下の手順は、RudderstackにSingular Destinationを追加する方法を示しています。

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

このインテグレーションを使用するには、RudderstackのモバイルSDKを使用する必要があります。このインテグレーションはモバイル以外のイベントデータには対応していません。サーバーまたはWebイベントには対応していません。

RudderStackは、「クラウドモード」でSingularに送信できる2種類のトラックイベントをサポートしています:

  • セッションイベント
  • カスタムイベント
サポート内容
  1. 基本的なインストールのアトリビューション
  2. Google インストールのリファラー帰属
  3. SkAdNetworkバージョン3サポート(マニュアルモード)
  4. Apple検索広告のアトリビューション
  5. カスタムアプリ内イベントトラッキング
  6. 収益トラッキング
  7. カスタムユーザーID
  8. アンインストール追跡
サポート対象外
  1. SkAdNetwork バージョン 4 のサポート
  2. SkAdNetwork コンバージョンモデル用マネージドモード
  3. META インストールのリファラー帰属
  4. ディープリンク
  5. 限定的なデータ共有サポート

Singularが提供する「フルフィーチャー機能」のS2Sサポートが必要な場合は、Rudderstackとは別にSingular S2S REST APIを実装する必要があります。サーバー間(S2S)統合ガイドをご覧ください

はじめに

  1. RudderStackのダッシュボードからソースを追加します。次に、デスティネーションのリストからSingularを選択します。
  2. デスティネーションに名前を割り当て、[Continue]をクリックします。

接続設定

Singularをデスティネーションとして正しく設定するには、以下の設定を行う必要があります:



  • APIキー:Singularの「SDKキー」をここに入力します。これは必須項目です。

    Singularダッシュボードの"Developer Tools > SDK Integration > SDK Keys "からSingularの"SDK KEY "を取得してください。


    注:「クラウドモード」統合の場合は、APIキー(SDKキー)の値のみを入力します。
    シークレット」は空白のままにしてください。

  • セッションイベント名:セッションイベントとして使用するイベント名を入力します。この設定は、クラウドモードでイベントを送信する場合にのみ適用されます。

    RudderStackはSingularlaunchAPI経由でSingularにセッションイベントを送信します。

    RudderStackは、ダッシュボードの設定で指定されている場合、または以下の3つのライフサイクルイベントのいずれかである場合にのみ、イベントをセッションイベントとみなします:

    • アプリケーションのインストール
    • アプリケーションのオープン
    • アプリケーションの更新

    RudderStackは、ライフサイクルイベント追跡が有効になっている場合、上記3つのライフサイクルイベントを自動的に追跡します。

  • デバイスモードを使用してイベントを送信します:これらのトグルは、"クラウドモード "を使用する場合は無効にしてください。AndroidまたはiOSプラットフォームを使用している場合は、この設定を有効にしてデバイスモード経由でイベントを送信することができます。その後、Singularデバイスモードガイドに従ってSingularをプロジェクトに追加してください。

セッションイベントの要件

サポートされるセッションイベントマッピング

Rudderstack Mobile SDKによって自動的にキャプチャされる属性

このセクションでは、RudderStackイベントプロパティと関連するSingularフィールドのマッピングを示します。

以下の表は、モバイルプラットフォーム(Androidと iOS)のRudderStackによって自動的にキャプチャされる属性のマッピングです:

RudderStackプロパティ Singular属性 存在 説明
context.os.name
p
必須 ソースプラットフォーム(AndroidまたはiOS)。
context.app.namespace
i
必須 アプリのパッケージ名(Android)またはバンドルID(iOS)。
context.app.version
app_v
必須 アプリのバージョン。
context.ip / request_ip 
(順に)
ip
必須 ユーザーのIPアドレス。IPアドレスの匿名化については、以下の注意を参照してください。
context.os.version
ve
必須 セッション時のデバイスOSバージョン。
context.device.model
mo
必須 デバイスモデル。このパラメータは ma パラメータと一緒に使用する必要があります。
context.device.manufacturer
ma
必須 デバイスハードウェアの製造元。このパラメータは、mo パラメータと 共に使用する必要があります。
context.locale
lc
必須 アンダースコアで区切られた 2 文字の言語と国コードを使用する、デバイスの IETF ローカルタグ。
context.device.id
idfv
必須 ダッシュ付きの大文字での生のIdentifierForVendorこれはiOSアプリにのみ適用される
context.device.id
andi
必須 小文字の生のAndroid IDこれはAndroidアプリにのみ適用され、Android広告IDがデバイス上で利用できない場合にのみ必要となります。
context.app.build
bd
必須 デバイスのビルド(URLエンコード)。
context.device.adTrackingEnabled
dnt
必須 Do not track(dnt)が無効(dnt=0)の場合はtrueを、false(dnt=1)の場合はfalseを渡します。SDKに広告IDを渡すと自動的にキャプチャされます。
context.app.name
n
オプション UIに表示される人間が読めるアプリ名。
utime
オプション セッション時間(UNIX時間)。
context.network.wifi
c
オプション 接続タイプ(WiFiまたはキャリア)。
context.network.carrier
cn
オプション インターネットプロバイダーのキャリア名。

IPを匿名化するには、context.ipフィールドにプレースホルダIPを送信できます。RudderStackは、バックエンドから自動的にIPアドレスを取得する代わりに、これをIPアドレスとして使用します。モバイルSDKの場合、クラウドモードでイベントを送信する場合、Transformations機能を活用してこれを行うことができます。

イベントプロパティで渡さなければならない属性

以下の表は、イベントプロパティで渡さなければならない属性のマッピングの一覧です

これらのプロパティはSDKに永続化されないため、イベントごとに渡す必要があります。

RudderStackプロパティ Singular属性 有無 説明
properties.install_ref
install_ref
必須 Googleインストールのリファラー情報。
properties.referring_application
install_source
必須 Android のインストール元パッケージ名。これを取得するにはgetInitiatingPackageName() を使用します。
properties.install_receipt
install_receipt
必須 インストール時に受け取ったレシート。これを取得するには、iOS Install Receiptガイドに従ってください。
properties.asid
asid
必須 Android v12+デバイス用のApp Set ID。
properties.url
openui
必須 アプリがディープリンク/ユニバーサルリンク経由で開かれた場合、エンコードされたディープリンクURLの値。
context.device.attTrackingStatus
att_authorization_status
必須 App Tracking Transparencyの認証ステータス
userId
custom_user_id
オプション identifyコールで渡されるユーザーID。
properties.attribution_token
attribution_token
オプション iOS 14.3以上のApple検索広告の属性に使用されます。詳細はこちら
properties.skan_conversion_value
skan_conversion_value
オプション セッション通知時の最新のSkAdNetwork値。
properties.skan_first_call_timestamp
skan_first_call_timestamp
オプション SkAdNetwork APIへの最初の呼び出しのUNIXタイムスタンプ。
properties.skan_last_call_timestamp
skan_last_call_timestamp
オプション セッション通知時にSkAdNetwork APIに最後にコールされたUNIXタイムスタンプ。
properties.install
install
オプション インストールフラグ。アプリインストール後の最初のセッションでtrueに設定され、そうでない場合はfalseに設定されます。再インストールトラッキング機能には必須です。
イベントプロパティで一度だけ渡さなければならない属性:

以下の表は、イベントプロパティで一度だけ渡さなければならない属性のマッピングを示します

これらのプロパティはSDKに保持されるため、一度だけ渡す必要があります。

RudderStackプロパティ Singular属性 有無 説明
context.device.token
fcm
オプション Firebase Cloud Messaging Device Token。Android のアンインストールトラッキングに必要です。
context.device.token
apns_token
オプション Apple Push Notification Service Device Token。iOS のアンインストールトラッキングに必要です。
context.device.advertisingId
idfa
必須 ダッシュ付きの大文字の生の広告 IDiOSアプリにのみ適用されます
context.device.advertisingId
aifa
必須 ダッシュ付きの小文字の生の広告IDです。Androidアプリにのみ適用されます

デバイス・トークンの設定の詳細については、関連するSDKドキュメントを参照してください:

RudderStackは、デバイストークンのマッピングにfcmのみをサポートしています。

カスタムイベントの要件

RudderStackは、セッションイベント以外のすべてのイベントをカスタムイベントとしてSingularのevtエンドポイント経由で送信します。

サポートされるイベントマッピング

Rudderstack Mobile SDKによって自動的にキャプチャされる属性

このセクションでは、RudderStackイベントプロパティと関連するSingularフィールドのマッピングを示します。

以下の表は、モバイルプラットフォーム(Androidと iOS)のRudderStackによって自動的にキャプチャされる属性のマッピングを示します:

RudderStackプロパティ Singular属性 存在 説明
context.os.name
p
必須 ソースプラットフォーム(AndroidまたはiOS)。
context.app.namespace
i
必須 アプリのパッケージ名(Android)またはバンドルID(iOS)。
context.ip / request_ip 
(同じ順序で)
ip
必須 ユーザーのIPアドレス。
context.device.advertisingId
idfa
必須 生のIdentifierForVendor(ダッシュ付きの大文字)。これはiOSアプリにのみ適用されます
context.device.advertisingId
aifa
必須 ダッシュ付きの小文字の生の広告IDAndroidアプリにのみ適用されます
context.device.id
idfv
必須 ダッシュ付きの大文字の生のIdentifierForVendoriOSアプリにのみ適用されます
context.device.id
andi
必須 小文字の生のAndroid IDこれはAndroidアプリのみに適用され、Android Advertising IDがデバイス上で利用できない場合にのみ必要となります。
context.os.version
ve
必須 セッション時のデバイスOSバージョン。
utime
任意 セッション時間(UNIX時間)。

Singularはasidより aifaandiより asid(Androidの場合)、idfvより idfa(iOSの場合)を好む。

イベントプロパティで渡さなければならない属性

以下の表は、イベントプロパティで渡さなければならない属性のマッピングの一覧である:

これらのプロパティはSDKに保持されないため、イベントごとに渡す必要があります。

RudderStackプロパティ Singular属性 有無 説明
event
n
必須 イベントの名前。これはユーザー定義です
context.device.attTrackingStatus
att_authorization_status
必須 App Tracking Transparencyの認証ステータス
userId
custom_user_id
オプション identifyコールで渡されるユーザーID。
properties.skan_conversion_value
skan_conversion_value
オプション セッション通知時の最新のSkAdNetwork値。
properties.skan_first_call_timestamp
skan_first_call_timestamp
オプション SkAdNetwork APIへの最初のコールのUNIXタイムスタンプ。
properties.skan_last_call_timestamp
skan_last_call_timestamp
オプション セッション通知時にSkAdNetwork APIに最後にコールされたUNIXタイムスタンプ。
properties.eventAttributes
e
オプション JSON形式のカスタムイベント属性。SDKに永続化されないため、イベントごとに渡す必要があります。
properties.is_revenue_event
is_revenue_event
オプション イベントが収益イベントであるかどうかを決定します。SDKに永続化されないため、イベントごとにプロパティを通して渡す必要があります。
収益イベントに固有のユーザー定義属性

次の表は、収益イベントに固有のユーザー定義属性のマッピングを示します

RudderStack プロパティ Singular属性 存在 説明
properties.total/ properties.value / properties.revenue
amt
オプション 通貨量。
properties.currency
cur
任意 ISO 4217 の三文字の通貨コード。これは、amt パラメータと組み合わせて指定する必要があります。
properties.purchase_receipt
purchase_receipt
オプション 購入時に受け取ったレシート。
properties.product_id/properties.sku
purchase_product_id
任意 商品のSKU識別子。
properties.orderId / properties.purchase_transaction_id
(この順番で)
purchase_transaction_id
任意 トランザクション識別子。

value、revenue、totalプロパティのいずれかを設定すると、is_revenue_eventプロパティで明示されていない限り、RudderStackは自動的にイベントを収益イベントとみなします。

カスタムイベントの場合のいくつかの重要な考慮事項を以下に示します:

  • RudderStackは、Androidの場合はcontext.userAgentから、iOSの場合はイベントプロパティからユーザーエージェントを取得します。
  • RudderStackは、カスタムイベントで渡された余分な属性をSingularのeフィールドに格納します。

テスト

イベントがSingularに正常に配信されているかどうかを確認するには?

イベントがSingularに正常に配信されたかどうかを確認するには、RudderStackのDestination live events機能をご利用ください。

また、Singularのダッシュボードにアクセスし、以下の手順に従ってイベントの配信を確認することもできます:

テストコンソールの使用方法については、こちらの詳細ガイドに従ってください。

  1. Developer Tools > Testing Console "に進みます。

  2. Add Device をクリックし、関連するデバイス識別子を入力します:

  3. Singularに送信されたすべてのイベントのリアルタイムログが表示されます: