サーバー間 (S2S) イベントAPI for モバイル

概要:アプリの外で発生するモバイルイベントをサーバー経由でAppsFlyerに送信しましょう。

S2S_us-en.png

サーバー間 (S2S) イベントAPI for モバイル

iOSアプリの場合、iOS 14以降、OS (オペレーティングシステム) パラメーターを送信する必要があります。

AppsFlyerのプラットフォームは、AppsFlyer SDKおよびAPIによって送信されたモバイルアプリイベントをメディアソースに紐づけて記録します。S2S APIを使用することで、アプリの外部で発生したイベント(例:Webサイト上での定期購読登録の更新など)を計測できます。S2Sイベントが記録されると、通常のイベントデータと同様、管理画面、ローデータ、各種レポート画面など、プラットフォーム全体で利用できます。PBAのWebイベントについては、 Web S2S for PBA をご参照ください。

AppsFlyerはS2Sイベントに以下情報を入力します。

  • S2Sメッセージで送信されたイベントの値
  • インストール時間やメディアソースなどのAppsFlyerのインストール計測の値に

API 経由でイベントを送信するには、S2SイベントAPIの手順に従うよう開発者に伝えてください。

パラメータについて

オーガニックと非オーガニックの違い

AppsFlyerがS2Sのアプリ内イベントを処理するとき、アトリビューションフィールドはAppsFlyer IDを使用して入力され、アプリ内イベントよりも前に発生していた関連するインストールイベントを識別します。

つまり、AppsFlyerが非オーガニックサーバー間アプリ内イベントに関連付けるデータは、オーガニックサーバー間アプリ内イベントに紐付けられないということです。

 例

たとえば、非オーガニックとオーガニックサーバー間アプリ内イベントのローデータレポートを比較する場合、非オーガニックイベントにはオーガニックアプリ内イベントにはないデータが含まれます。

非オーガニックのアプリ内イベントには、メディアソース、キャンペーン、アトリビューションタッチタイプ、アトリビューションタッチタイムに関するデータが含まれます。

一方、オーガニックのアプリ内イベントは、オーガニックのインストールに従います。オーガニックインストールには、キャンペーン、メディアソース、またはアトリビューションのタッチタイプと時間に関連するデータはありません。

AppsFlyer IDとカスタマーユーザーID(CUID)のマッピング

パラメーターに入力する特定の値を取得するには、バックエンドロジックが必要です。以下では、AppsFlyer IDの取得方法について説明しています。

  • AppsFlyer IDは必須であり、イベントの紐付けに使用されます。
  • このIDはユーザーが最初にアプリをインストールしたときに発行されます。
  • CUIDをAppsFlyer IDにマップできるようにするには、アプリでCUIDを設定する必要があります。

どのユーザーがどのイベントを実行したかを簡単に把握できるようにするには、以下のフローを実装してください。

  • ユーザーがアプリをインストールしたときにカスタマーユーザーID を付与(設定)してください。
  • AppsFlyerのローデータレポートにCUIDとAppsFlyer IDが記録されるので、AppsFlyerのPush APIなどのデータ提供機能を利用して取得してください。 
  • ローデータレポートを使って、CUIDとAppsFlyer IDを照合させてください。 
  • AppsFlyer IDは、実装したSDKからも取得することが可能です。(Android/iOS)
  • お客様自身のデータベース上でも、AppsFlyer IDをカスタマーユーザーIDにマッピングしてください。(将来的な使用においても重要です)。

AppsFlyer IDをお客様側のカスタマーユーザーIDにマッピングすると、どのユーザーがどのイベントを実行したかを簡単に知ることができます。その後、他の値(イベント値、イベント通貨、イベント時間など)を取得してサーバー間アプリ内イベントを送信できます。

AppsFlyer IDの取得

appsflyer_id はサーバー間イベントメッセージの必須パラメータです。AppsFlyerでは、このパラメーターを使用して、オリジナルの端末とメディアソースにイベントを紐付けます。 次のいずれかの方法でIDを取得できます。

 ヒント

S2S メッセージをテストする際にローデータを使用する場合は、メディアソース名「s2s_test」の記録を確認してください。これがテスト時のデバイスで、その「AppsFlyer Device ID」がここで必要なIDとなります。

マイナスの収益を送る

購入がキャンセルされた場合などには、マイナスの収益の値を持つイベントも送信可能です。 af_revenue のパラメータには、マイナスの値も使用することができます。 

af_quantity のパラメータも使用している場合には、利用されているシステム側のロジックによっては、マイナスの値を設定したいケースもあるかと思います。AppsFlyerでは af_quantity を収益の集計などには使用しませんのでご安心ください。

トラブルシューティング

イベントが管理画面に表示されない

  • エンドポイント:使用されているエンドポイントが正しいことを確認してください。
  • ペイロードに必須のパラメータが含まれていることを確認してください。詳細はこちらです。
  • イベント計測に使用しているAppsFlyerIDが、(このガイドで提示しているサンプルのIDでなく)そのアプリがインストールされている実際のappsflyer_idであることを確認してください。詳細はこちらです。
  • S2Sイベントは、イベントの一括送信をサポートしていません。各S2Sイベントは個別に送信する必要があります。 
    • 非同期メソッドを使用してイベントを送信して、応答時間を短縮できます。
  • オーバービューの画面で指定する日付は、イベントの発生日ではなく、アプリのインストール日(LTV)になります。
    • 正しい日付範囲を選択していることを確認してください。
    • 管理画面でイベントを確認するには、管理画面で選択した日付が、イベントの発生日ではなく、端末(appsflyer_id)のインストール日と一致していることを確認してください。

  • イベントローデータレポート:日付範囲は、インストール日ではなくイベントの発火日が関係します。 

イベントに収益が含まれない

S2Sイベントを送信しても、その収益が記録されない場合には、送信したJSONが文字列化されているかどうかを確認してください。最も重要な部分は、JSONのイベント値パラメーターです。次の例に示すように、文字列化する必要があります。

"{\"af_revenue\":\"6\" ,\"af_content_type\":\"wallets\"}"

文字列(String)化されていない場合、イベント値は正しく処理されず、収益は記録されません。

収益の値は書式化しないでください。小数点のコンマを含むことができます。通貨記号や通貨コード、, のような値の区切り文字も含めないでください。収益の値の冒頭には - (マイナス)を付与することも可能です。

  • 有効な値の例: 123, -123.45123.456 
  • 無効な値の例: 1,234.561,234

S2Sイベントのすべてのフィールドが入力されない

ローデータの項目は、S2Sのコールで送信された値と、インストールイベントのデータを使用して入力されます。AppsFlyerのSDKを使って計測するアプリ内イベントと似たような挙動になりますが、まったく同一ではなくいくつかの違いがあります。具体的には、次の項目はS2Sイベントでは入力されません。

  • WIFI
  • Operator
  • Language
  • Device Type
  • Device Category
  • アプリバージョン: app_version_name を使用して設定します。
  • App Name