広告収益トラッキング API リファレンス

広告収益トラッキング API リファレンス

SDK 実装の代替手段として、サーバー間連携を通じて Singular の REST API を使用し、インプレッションレベルの広告マネタイズ収益をトラッキングすることで、アトリビューション分析とキャンペーン最適化に活用できます。

この記事では、広告収益に固有のパラメーターとワークフローについて説明します。共有される S2S エンドポイント、認証、および共通パラメーターは、 S2S Fundamentals ハブで一度だけ定義されています。広告収益以外のアプリ内イベントおよび収益については、 EVENT Endpoint API Reference をご覧ください。


概要

サーバー間連携のユースケース

広告収益 API は、インプレッションレベルの広告マネタイズトラッキングを可能にします。アプリはメディエーションプラットフォームからの収益データをバックエンドに転送し、バックエンドがそれを Singular のサーバーに送信することで、広告収益の分析とレポーティングを実現します。

サポートされる機能:

  • 広告マネタイズ収益: メディエーションプラットフォームからのインプレッションレベルの収益をトラッキング
  • プラットフォームアトリビューション: 広告収益をユーザー獲得キャンペーンに紐付け
  • メディエーション連携: 主要なすべての広告メディエーションプラットフォームをサポート
  • 通貨換算: 組織設定に合わせた自動通貨換算

データフローアーキテクチャ

サーバー間連携による広告収益トラッキングは、4 ステップのデータ送信プロセスに従います。

  1. クライアント収集: アプリがメディエーションプラットフォームの SDK からインプレッションレベルの収益データを収集
  2. サーバー送信: アプリが広告収益データをバックエンドサーバーに転送
  3. デバイスグラフクエリ: サーバーが Singular デバイスグラフからデバイス詳細を取得または更新
  4. Event API 呼び出し: サーバーが __ADMON_USER_LEVEL_REVENUE__ イベントを Singular REST API エンドポイントに送信

重要な要件

前提条件:

  • イベントの前に SESSION: 広告収益トラッキングを行う前に、必ず SESSION を確立する必要があります
  • 順序の遵守: セッションの順序が不正な場合、データの不整合やアトリビューションエラーが発生します
  • メディエーションプラットフォームデータ: 必要な属性をメディエーション SDK から直接収集してください。実装の詳細については SDK Guide をご覧ください

連携における制約:

  • リアルタイム処理: リクエストは個別に処理されます。バッチ処理はサポートされていません
  • 時系列順のイベント: イベントは発生した順序で送信する必要があります
  • 重複排除なし: Singular はデータの重複排除を行いません。重複を防ぐためにサーバー側で重複排除を実装してください
  • データの永続性: デバイスレベルのデータは取り込み後に削除できません。送信前に検証してください

API エンドポイントの選択

Singular は、さまざまな連携アーキテクチャに最適化された 2 つの EVENT エンドポイントバージョンを提供しています。

エンドポイントの選択: 連携アーキテクチャとデバイス識別子の戦略に基づいてエンドポイントを選択してください。ユースケースによって適切なエンドポイントが決まります。

Event Endpoint V1

V1 のユースケース

プラットフォーム固有のデバイス識別子(IDFA、IDFV、AIFA、ASID など)に依存する連携には、Event Endpoint V1 を使用してください。

推奨対象:

  • 完全なサーバーサイド: Singular SDK を実装しないサーバーサイド連携
  • ハイブリッド(非 SDID): Singular SDK が Singular Device ID(SDID)を使用しないハイブリッド連携

エンドポイント URL:

GET https://s2s.singular.net/api/v1/evt

Event Endpoint V2

V2 のユースケース

Singular SDK が SDID を使用してセッションをトラッキングし、サーバーが同じ SDID を使用してイベントを送信するハイブリッド連携には、Event Endpoint V2 を使用してください。

推奨対象:

  • ハイブリッド(SDID ベース): Singular SDK が SDID でセッションをトラッキングし、サーバーサイドのイベントが同じ SDID を使用する場合
  • 識別子の簡素化: プラットフォーム固有のデバイス識別子(IDFA、AIFA など)を使用しない実装

エンドポイント URL:

GET https://s2s.singular.net/api/v2/evt

アカウントの有効化: V2 エンドポイントを使用するには、SDID 利用のための Singular アカウント設定が必要です。有効化については、担当の Solution Engineer または CSM にお問い合わせください。


必須のデバイス識別子

デバイス識別子の要件は、エンドポイントのバージョンとプラットフォームによって異なります。以下のプラットフォーム固有の要件をご確認ください。

V1 エンドポイントの識別子

プラットフォーム固有の識別子

Event Endpoint V1 では、デバイスのオペレーティングシステムとアプリの配信方法に基づいた、プラットフォーム固有の広告識別子が必要です。

これらは共有される S2S パラメーターであり、 S2S Fundamentals で一度だけ定義されています。


V2 エンドポイントの識別子

SDID のみの要件

Event Endpoint V2 では、すべてのプラットフォームで Singular Device ID(SDID)のみが必要となり、デバイス識別が簡素化されます。

パラメーター 詳細
sdid

UUID

プラットフォーム: iOS、Android

Singular SDK から取得するか、クライアント側で生成される Singular Device ID です。

  • iOS/Android: SDID 利用にはアカウントの有効化が必要です。SDK のコールバックメソッドが初期化後に SDID を提供します
  • 識別子の簡素化: AIFA、ASID、IDFA、IDFV パラメーターが不要になります
  • SDID の取得

例: 40009df0-d618-4d81-9da1-cbb3337b8dec


必須パラメーター

すべての EVENT リクエストには、デバイス識別子に加えて、これらの必須パラメーターを含める必要があります。

パラメーターの形式: すべてのパラメーターは、GET メソッドを使用して URL クエリパラメーターとして渡す必要があります。パラメーターを JSON リクエストボディで送信しないでください。

API 認証

これらは共有される S2S パラメーターであり、 S2S Fundamentals で一度だけ定義されています。


デバイスパラメーター

これらは共有される S2S パラメーターであり、 S2S Fundamentals で一度だけ定義されています。


アプリケーションパラメーター

これらは共有される S2S パラメーターであり、 S2S Fundamentals で一度だけ定義されています。


イベントパラメーター

パラメーター 詳細
n

string

トラッキングするイベントの名前。

広告収益に必須のイベント名:

__ADMON_USER_LEVEL_REVENUE__
  • イベント名はすべて大文字とアンダースコアで指定する必要があります
  • 最大 32 文字の ASCII 文字
e

JSON

メディエーションプラットフォームからのカスタムイベント属性を指定する、JSON の URL エンコードされた文字列。

必須の属性:

  • ad_platform - (必須) 広告ネットワークの名前

任意の属性:

  • ad_mediation_platform
  • ad_type
  • ad_group_type
  • ad_impression_id
  • ad_placement_name
  • ad_unit_id
  • ad_unit_name
  • ad_group_id
  • ad_group_name
  • ad_group_priority
  • ad_placement_id

JSON 構造:

{
  "ad_platform": "AdMob",
  "ad_mediation_platform": "admob.AdMobAdapter",
  "ad_unit_id": "ca-app-pub-6325336052/44923540"
}

URL エンコードの例:

%7B%22ad_platform%22%3A%22AdMob%22%2C%22ad_mediation_platform%22%3A%22admob.AdMobAdapter%22%2C%22ad_unit_id%22%3A%22ca-app-pub-6325336052%5C%2F44923540%22%7D

注: 値のない属性は省略してください。

is_admon_revenue

boolean

イベントが広告収益メトリクス用の広告マネタイズ収益イベントかどうかを指定します。

  • このイベントには true を渡します

例: true

is_revenue_event

boolean

イベントが収益メトリクス用の収益イベントかどうかを指定します。

  • このイベントには true を渡します

例: true

amt

number

インプレッション収益の通貨金額。

  • cur パラメーターと組み合わせて使用します

例: 0.00782

cur

string

ISO 4217 の 3 文字の大文字通貨コード。

  • amt パラメーターと組み合わせて使用します

例: USD


任意パラメーター

任意パラメーターは、追加のコンテキストと機能によって広告収益トラッキングを強化します。

ネットワークパラメーター

これらは共有される S2S パラメーターであり、 S2S Fundamentals で一度だけ定義されています。


データプライバシー

これらは共有される S2S パラメーターであり、 S2S Fundamentals で一度だけ定義されています。


クロスデバイスサポート

これらは共有される S2S パラメーターであり、 S2S Fundamentals で一度だけ定義されています。


リクエスト例

サンプルコードは、複数のプログラミング言語にわたる広告収益 EVENT エンドポイント連携を示しています。

サンプルに関する免責事項: コードサンプルには、必須パラメーターがすべて含まれていない場合があります。本番実装の前に、パラメーターの完全なリストを検証してください。開発/テストには一意の i (アプリ識別子)を使用してください。

PYTHON CURL HTTP JAVA

Python の例

import requests

params = {
    'a': 'sdk_key_here',
    'p': 'Android',
    'i': 'com.singular.app',
    'ip': '10.1.2.3',
    've': '9.2',
    'aifa': '8ecd7512-2864-440c-93f3-a3cabe62525b',
    'asid': 'edee92a2-7b2f-45f4-a509-840f170fc6d9',
    'n': '__ADMON_USER_LEVEL_REVENUE__',
    'e': '{"ad_platform":"AdMob","ad_mediation_platform":"admob.AdMobAdapter","ad_unit_id":"ca-app-pub-6325336052/44923540"}',
    'is_admon_revenue': 'true',
    'is_revenue_event': 'true',
    'amt': 0.00782,
    'cur': 'USD'
}

response = requests.get('https://s2s.singular.net/api/v1/evt', params=params)
print(response.json())

レスポンスコードとエラー

EVENT エンドポイントは、リクエストの成功または失敗を示す HTTP ステータスコードと JSON レスポンスを返します。

エラーに関する完全なドキュメント: S2S Response Codes & Error Handling


テストと検証

本番デプロイの前に、Singular SDK Console を使用してリアルタイムのデータ検証を行い、S2S 広告収益連携を確認してください。

テスト手順

エンドツーエンド検証

  1. テストデバイスの登録: デバイスの広告 ID を取得し、 Singular SDK Console に追加します
  2. コンソールロギングの有効化: SDK Console にデバイス識別子を追加してテストデータをキャプチャします
  3. 開発用アプリ ID の使用: アプリ識別子を開発版(例: com.singular.app.dev )で上書きし、テストデータを本番データと分離します
  4. ビルドと起動: 終了状態からアプリをビルドまたは起動します
  5. クライアントデータの検証: アプリが必要なすべての Singular データポイントをサーバーに送信していることを確認します
  6. セッションの確認: サーバーが必要なすべてのパラメーターとともに SESSION リクエストを https://s2s.singular.net/api/v1/launch に送信していることを確認します
  7. SDK Console の確認(セッション): 数秒以内に SESSION イベントが SDK Console に表示されるはずです

SDK コンソールのセッションイベント


広告収益イベントのテスト

  1. 広告インプレッションのトリガー: アプリ内で広告インプレッションを生成し、メディエーションプラットフォームのコールバックを発火させます
  2. メディエーションデータの検証: インプレッションデータが、必要なすべてのメディエーションプラットフォーム属性とともにサーバーに送信されていることを確認します
  3. サーバーリクエストの確認: サーバーが必要なすべてのパラメーターとともに EVENT リクエストを https://s2s.singular.net/api/v1/evt に送信していることを確認します
  4. SDK Console の確認(イベント): 数秒以内に __ADMON_USER_LEVEL_REVENUE__ イベントが SDK Console に表示されるはずです
  5. テストの繰り返し: すべての広告インプレッションが、期待される値と正しい収益金額で送信されていることを検証します

SDK コンソールの広告収益イベント

重要な確認事項:

  • EVENT を受信する前に、アプリの起動時/フォアグラウンド時に SESSION イベントが発生していることを確認します
  • EVENT で必要なデータポイントが SESSION のデータポイントと一致していることを確認します
  • 正しいメディエーションプラットフォームの詳細が Event Arguments に渡されていることを確認します
  • 正しい収益金額と通貨を確認します

成功の指標: 広告収益イベントが SDK Console に表示されれば、エンドツーエンドの広告収益連携テストは成功です。


その他のリソース

テストドキュメント

包括的なテストガイド: S2S Integration Testing Guide