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種類のトラックイベントをサポートしています:
- セッションイベント
- カスタムイベント
- 基本的なインストールのアトリビューション
- Google インストールのリファラー帰属
- SkAdNetworkバージョン3サポート(マニュアルモード)
- Apple検索広告のアトリビューション
- カスタムアプリ内イベントトラッキング
- 収益トラッキング
- カスタムユーザーID
- アンインストール追跡
- SkAdNetwork バージョン 4 のサポート
- SkAdNetwork コンバージョンモデル用マネージドモード
- META インストールのリファラー帰属
- ディープリンク
- 限定的なデータ共有サポート
Singularが提供する「フルフィーチャー機能」のS2Sサポートが必要な場合は、Rudderstackとは別にSingular S2S REST APIを実装する必要があります。サーバー間(S2S)統合ガイドをご覧ください。
はじめに
- RudderStackのダッシュボードからソースを追加します。次に、デスティネーションのリストからSingularを選択します。
- デスティネーションに名前を割り当て、[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イベントプロパティと関連する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 |
必須 | ダッシュ付きの大文字の生の広告 ID。iOSアプリにのみ適用されます。 |
context.device.advertisingId |
aifa |
必須 | ダッシュ付きの小文字の生の広告IDです。Androidアプリにのみ適用されます。 |
RudderStackは、デバイストークンのマッピングにfcmのみをサポートしています。
カスタムイベントの要件
RudderStackは、セッションイベント以外のすべてのイベントをカスタムイベントとしてSingularのevtエンドポイント経由で送信します。
サポートされるイベントマッピング
このセクションでは、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 |
必須 | ダッシュ付きの小文字の生の広告ID。Androidアプリにのみ適用されます。 |
context.device.id |
idfv |
必須 | ダッシュ付きの大文字の生のIdentifierForVendor。iOSアプリにのみ適用されます。 |
context.device.id |
andi |
必須 | 小文字の生のAndroid ID。これはAndroidアプリのみに適用され、Android Advertising IDがデバイス上で利用できない場合にのみ必要となります。 |
context.os.version |
ve |
必須 | セッション時のデバイスOSバージョン。 |
utime |
任意 | セッション時間(UNIX時間)。 |
Singularはasidより aifa、andiより 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のダッシュボードにアクセスし、以下の手順に従ってイベントの配信を確認することもできます:
テストコンソールの使用方法については、こちらの詳細ガイドに従ってください。
-
Developer Tools > Testing Console "に進みます。
-
Add Device をクリックし、関連するデバイス識別子を入力します:
- Singularに送信されたすべてのイベントのリアルタイムログが表示されます: