メインコンテンツまでスキップ

AppsFlyer Push API

最終更新 2026/10/05
ヒント

サードパーティデータ統合によって生成されたデータは、クラスターの消費データ量に含まれますのでご注意ください

概要​

インターフェースの概要​

インターフェース名タイプ粒度アトリビューションコスト収益表示クリックコンバージョン
Push APIコールバックユーザーレベル✅✅✅✅✅

Push APIは、AppsFlyerのユーザーレベルのデータをリアルタイムに提供します。これには広告の表示、クリック、アクティベーション、収益などのデータが含まれます。コストデータは、AFプラットフォームのデータ制限により取得できない場合があります。

AFデータの統合を始める前に、AEシステムのユーザー識別ルールを読み、AEが#distinct_idと#account_idによってユーザーを識別する仕組みを理解しておいてください

統合の流れ​

  1. AppsFlyerクライアントSDKとAE SDKを統合し、AF SDKでAEのユーザー識別IDを設定します
  2. AE管理画面にログインし、サードパーティ統合モジュールでAppsFlyer Push APIプランを追加して、関連する設定を完了します
  3. AppsFlyerの管理画面にログインし、コールバックの設定を完了します
  4. AEシステムがデータを正常に受信しているかを確認し、レポートを作成します

1. クライアントSDKの設定​

AppsFlyerのデータを統合する最初のステップは、クライアント側でAE SDKとAF SDKを連携させ、AF SDKでAEシステムのユーザー識別IDを設定することです

1.1 方法1(自動統合)​

  • 統合しているAndroid、iOS SDKについて

  • 統合しているUnity SDKのバージョンが2.4.0以上、Unreal SDKのバージョンが1.5.0以上の場合は、この方法をそのまま使用できます

ヒント

AEのSDKの初期化と自動統合コードの有効化は、AppsFlyerのSDKの初期化より前に完了する必要があります。次の手順に従って操作してください:

1. AE SDKを初期化します。

2. `enableThirdPartySharing`を呼び出して、ゲストIDを自動設定します。

3. AppsFlyer SDKを初期化します。

各プラットフォームのSDKのコードサンプルは次のとおりです:

// 1. Android SDKを初期化
TDConfig config = TDConfig.getInstance(this, APPID, TE_SERVER_URL);
TDAnalytics.init(config);
// 2. enableThirdPartySharingインターフェースを呼び出し、ta_distinct_idをappsflyerイベントに設定
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPS_FLYER);
// 3. setCustomerUserId()でゲストIDをもう一度設定することを強くお勧めします
String distinctId = TDAnalytics.getDistinctId();
AppsFlyerLib.getInstance().setCustomerUserId(distinctId);
// 4. Appsflyer SDKを初期化
// 。。。
// 5. 登録またはキャラクター作成後、loginを呼び出してアカウントIDを設定したら、再度データを同期する必要があります(任意)
TDAnalytics.login("account_id");
TDAnalytics.enableThirdPartySharing(TDThirdPartyType.APPS_FLYER);
ヒント

AE SDKのlogin()メソッドまたはidentify()メソッドを呼び出した場合は、再度enableThirdPartySharing()を呼び出してデータを同期する必要があります。

AF SDKのsetAdditionalData()メソッドも呼び出す必要がある場合、このメソッドは複数回呼び出すと以前のパラメータが上書きされるため、以下のコードのようにパラメータをAE SDKに渡すことができます。AE SDKが内部でパラメータを連結・マージします。以下のコードはAndroid SDKの統合例です。

Map<String, Object> additionalData = new HashMap<>();
additionalData.put("af_test_key1", "test1");
additionalData.put("af_test_key2", "test2");
instance.enableThirdPartySharing(
TDThirdPartyShareType.TD_APPS_FLYER,
additionalData
);

このプランの仕組みは、内部でAFのsetAdditionalData()メソッドを自動的に呼び出し、AEプロジェクトのゲストIDとアカウントIDを渡すというものです。

1.2 方法2(手動統合)​

手動統合の方法では、AF SDKでsetAdditionalData()インターフェースを使用して、AEプロジェクトのゲストIDとアカウントIDを設定する必要があります。

ヒント

AEのSDKの初期化とsetAdditionalDataインターフェースの呼び出しは、AF SDKの初期化より前に完了する必要があります。次の手順に従って操作してください:

1. AE SDKを初期化します。

2. `setAdditionalData`を呼び出してゲストIDを設定します。

3. AF SDKを初期化します。

各SDKの手動統合のコードサンプルは次のとおりです:

// 1. Android SDKを初期化
TDConfig config = TDConfig.getInstance(this, APPID, TE_SERVER_URL);
TDAnalytics.init(config);
// 2. AEのゲストIDを取得(AEの#distinct_idに対応)
String distinctId = TDAnalytics.getDistinctId();

// 3. ゲストIDをAFの収集イベントに設定
HashMap<String,Object> CustomDataMap = new HashMap<>();
CustomDataMap.put("ta_distinct_id",distinctId);
AppsFlyerLib.getInstance().setAdditionalData(CustomDataMap);

// 4. setCustomerUserId()でゲストIDをもう一度設定することを強くお勧めします
AppsFlyerLib.getInstance().setCustomerUserId(distinctId);

// 5. AppsFlyer SDKを初期化
...

// 6. 登録またはキャラクター作成後、loginを呼び出してアカウントIDを設定したら、再度データを同期する必要があります(任意)
String accountId = "your_account_id";
instance.login(accountId);
HashMap<String,Object> CustomDataMap = new HashMap<>();
CustomDataMap.put("ta_distinct_id", distinctId);
CustomDataMap.put("ta_account_id",accountId);
AppsFlyerLib.getInstance().setAdditionalData(CustomDataMap);

以上の設定を行うと、コールバックデータ内のcustom_dataにta_distinct_id、ta_account_idの2つのフィールドが含まれ、customer_user_idはゲストIDと等しくなります。

2. プランの設定​

SDKの設定が完了したら、次にAEシステムの管理画面にログインし、「サードパーティ統合」モジュールでAppsFlyerの設定を行います。下図はAppsFlyerの設定画面です:

2.1 ユーザー識別フィールド​

AppsFlyerがコールバックするのはユーザーレベルのデータであるため、ユーザー識別ルール、つまりAFのコールバックデータ内で#distinct_idと#account_idに対応するフィールドを設定する必要があります。AEシステムはこの設定に基づき、コールバックデータを変換する際に、これらのフィールドをデータ内のユーザー識別フィールドとして設定します。

本ドキュメントの前のステップに従ってクライアントSDKを設定した場合は、次の設定を使用してください:

  • アカウントIDの関連フィールド:custom_data.ta_account_id
  • ゲストIDの関連フィールド:customer_user_id,custom_data.ta_distinct_id

2.2 イベントデータの格納設定​

「イベントデータの格納設定」スイッチをオンにすると、コールバックされたデータ(アクティベーションイベントとアプリ内イベントを含む)はすべてイベントテーブルに書き込まれます

イベントデータの格納を有効にすることをお勧めします。ただし、デフォルトではAFからコールバックされるすべてのデータを受信します。コールバックされるイベントの種類が多すぎると、AEプロジェクトのイベント量が過度に膨らむおそれがあります。そのため、AFプラットフォームでコールバックを設定する際は、必要なイベントのみを選択してコールバックすることをお勧めします。

2.3 ユーザープロパティの格納設定​

デフォルトでは、AEシステムはAFのコールバックデータ内のアトリビューションフィールドを、標準化処理後のユーザープロパティに自動的に書き込みます。ユーザープロパティに書き込まれるフィールドとその意味は次のとおりです:

AppsFlyerのフィールド標準化フィールド説明
media_sourcete_ads_object.media_sourceメディアチャンネル
campaignte_ads_object.campaign_name広告キャンペーン名
af_adsette_ads_object.ad_group_name広告グループ名
af_adte_ads_object.ad_name広告名
ヒント

旧バージョンのユーザープロパティ格納のデフォルトルールは現在と異なるため、ご注意ください。新旧のプロパティを統合する必要がある場合は、仮想プロパティ機能を使用できます

変更が必要な場合は、「設定ルール」をクリックして、下図のような格納ルールの設定ページに移動します

ここでは、ユーザープロパティをどのイベントから取得するかを変更できます。ユーザープロパティが頻繁に書き込まれないようにしたい場合は、「すべてのイベントを含む」をオフにし、ソースイベント名をinstallに変更します。このように設定すると、AEシステムはAFからコールバックされたinstallイベントからのみ、ユーザープロパティに書き込むフィールドを抽出して書き込みます。格納の方法はデフォルトでuser_setOnceで、最初に送信された情報のみが保持されます。

「プロパティのマッピング」ボタンをクリックして、ユーザープロパティに書き込むフィールドを追加できます。また、左側の「ルール」ボタンをクリックして新しいルールを追加することもできます。たとえば、AFからコールバックされたマネタイズデータから広告収益を抽出し、user_addの方式でユーザープロパティに書き込むことで、各ユーザーの累計広告収益を記録できます。

ユーザープロパティの格納を無効にしたい場合は、すべてのルールを停止します:

2.4 ターミナルアドレス​

ターミナルアドレスには、AEシステムがAppsFlyerのコールバックデータを受信するアドレスが表示されます。このアドレスをそのままコピーし、この後のAFのコールバック設定で入力してください:

ここにアドレスが表示されない場合は、右上のメニュー「プロジェクト管理 → プロジェクト設定 → プロジェクト構成」でパブリックネットワークURLを設定してください。設定ページのヒントバーにある「データアクセスアドレス」リンクから移動することもできます。このアドレスは、AE SDKで設定するデータ受信URLです。設定後、AppsFlyerの設定ページに戻り、「ターミナルアドレス」でアドレスをコピーしてください。

2.5 イベントの格納ルール​

  • データ内のevent_time_selected_timezoneフィールドを使用し、その時間とタイムゾーンの情報を取得して、時間を#event_time、タイムゾーンを#zone_offsetとして書き込みます。event_time_selected_timezoneが空の場合は、event_timeを#event_timeとして使用し、タイムゾーン#zone_offsetは0に設定されます
  • データのイベント名は、そのイベントのAppsFlyerでのイベント名です
  • その他のフィールドはすべて格納されます

2.6 標準化フィールド​

次のイベントプロパティは標準化処理されます:

元フィールド標準化フィールド意味
media_sourcete_ads_object.media_sourceメディアチャンネル
monetization_network(広告マネタイズデータ)te_ads_object.media_sourceマネタイズチャンネル
campaignte_ads_object.campaign_name広告キャンペーン名
af_c_idte_ads_object.campaign_id広告キャンペーンID
af_adsette_ads_object.ad_group_name広告グループ名
ad_unit(広告マネタイズデータ)te_ads_object.ad_group_nameマネタイズ広告のUnit名
af_adset_idte_ads_object.ad_group_id広告グループID
af_adte_ads_object.ad_name広告名
af_ad_idte_ads_object.ad_id広告ID
placement(広告マネタイズデータ)te_ads_object.placement広告の配置
af_cost_valuete_ads_object.cost配信コスト
af_cost_currencyte_ads_object.currencyユーザー獲得配信の通貨
event_revenuete_ads_object.revenueマネタイズ収益
event_revenue_currency(広告マネタイズデータ)te_ads_object.currencyマネタイズ収益の通貨
country_codete_ads_object.country国・地域コード
platformte_ads_object.platformプラットフォーム(Android、iOSなど)
app_idte_ads_object.app_idアプリID
app_namete_ads_object.app_nameアプリ名

3. AppsFlyer Push APIの設定​

AE管理画面での設定が完了したら、次に管理者アカウントでAppsFlyerの管理画面にログインし、「Integration」-「API Access」でPush APIのセクションを見つけて、以下の方法でコールバックURLを設定してください:

  • コールバックAPIバージョン(Push API Version)

    • 2.0を選択してください
  • HTTPリクエストメソッド(HTTP method)

    • AEシステムはPOSTとGETの両方のコールバック方式に対応しています。POST方式を選択することをお勧めします
  • ターミナルアドレス(Endpoint URL)

    • AEシステムの管理画面にあるAppsFlyer設定ページの「ターミナルアドレス」欄でアドレスを取得し、そのまま貼り付けてください
  • イベントメッセージのタイプ (Event Messages)

    • 少なくともアクティベーション (Install) イベントを選択する必要があります。その他のアプリ内イベント (Install in-app events) もコールバックしたい場合は、ここでチェックを入れ、コールバックするアプリ内イベント(In-app events)にコールバックするイベントのイベント名を入力してください
  • コールバックフィールド (Message Fields)

    • メッセージフィールドには、少なくとも以下の情報を含める必要があります:

      • モバイルアトリビューション関連のフィールド:media_source、channel、af_adset、af_adなど
      • ユーザー識別ID関連のフィールド:custom_data、customer_user_id、event_valueなど
      • イベントプロパティまたはユーザープロパティとして使用するフィールド:app_version、platformなど
      • イベント関連のフィールド:event_time_selected_timezone
  • コールバックするアプリ内イベント(In-app events)

    • 必要に応じてコールバックするイベントを選択します。コールバックする場合は、イベントメッセージのタイプ (Event Messages) でアプリ内イベントのコールバック (Install in-app events) にチェックを入れてください
ヒント

Facebookのデータをコールバックする必要がある場合は、AFの管理画面にあるFacebookチャンネルの設定で、Facebookのデータ使用規約(Terms of Service)に同意する必要があります。同意しないと、Facebookのユーザーレベルのデータを取得できません。

4. その後の利用​

4.1 データ格納の確認​

「データ管理」ページで、コールバックイベントやユーザープロパティが作成されているかどうかを確認できます。

また、イベント分析モデルやユーザープロパティ分析モデルなどの分析モデルで分析を行い、データが格納されているかどうかを確認することもできます。

レポート作成に関するいくつかの提案を以下に示します:

  1. イベント分析モデルで、AFのコールバックデータを使用して広告配信と広告マネタイズの主要指標を構築し、広告分析レポートを作成します
  2. リテンション分析モデルで、コールバックデータの広告マネタイズとゲーム内課金イベントを組み合わせて、メディアチャンネルや広告キャンペーンなどの粒度で、広告マネタイズを含むLTVを計算します
  3. ファネル分析モデルで、インストールイベントを新規ユーザーのコンバージョンファネルに追加し、メディアチャンネルや広告キャンペーンなどの粒度で、流入元別のユーザーのコンバージョン状況を分析します
このページは役に立ちましたか?