インプレッション単位の広告収益

インプレッションが発生すると、そのインプレッションに関連付けられた広告収益データが Google Mobile Ads SDK によって提供されます。このデータを使用して、ユーザーのライフタイム バリューを計算したり、データをダウンストリームの他の関連システムに転送したりできます。

このガイドでは、Unity プロジェクトにインプレッション単位の広告収益データ キャプチャを実装する方法について説明します。

前提条件

有料イベント ハンドラの実装

各広告フォーマットには OnPaidEvent イベントがあります。Google Mobile Ads SDK は、広告イベントのライフサイクル中にインプレッション イベントを監視し、獲得値を含むハンドラを呼び出します。

以下のコードは、リワード広告の有料イベントを処理する方法を示しています。


RewardedAd rewardedAd;

private void RequestRewardedAd()
{
   rewardedAd = new RewardedAd("AD_UNIT_ID");
   
   rewardedAd.OnPaidEvent += this.HandleAdPaidEvent;
   
   AdRequest adRequest = new AdRequest();
   rewardedAd.LoadAd(adRequest);
}


public void HandleAdPaidEvent(object sender, AdValueEventArgs args)
{
    // TODO: Send the impression-level ad revenue information to your
    // preferred analytics server directly within this callback.

    AdValue adValue = args.AdValue;
    long valueMicros = adValue.Value;
    string currencyCode = adValue.CurrencyCode;
    PrecisionType precision = adValue.Precision;

    ResponseInfo responseInfo = rewardedAd.GetResponseInfo();
    string responseId = responseInfo.GetResponseId();

    AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.GetLoadedAdapterResponseInfo();
    string adSourceId = loadedAdapterResponseInfo.AdSourceId;
    string adSourceInstanceId = loadedAdapterResponseInfo.AdSourceInstanceId;
    string adSourceInstanceName = loadedAdapterResponseInfo.AdSourceInstanceName;
    string adSourceName = loadedAdapterResponseInfo.AdSourceName;
    string adapterClassName = loadedAdapterResponseInfo.AdapterClassName;
    long latencyMillis = loadedAdapterResponseInfo.LatencyMillis;
    Dictionary<string, string> credentials = loadedAdapterResponseInfo.AdUnitMapping;

    Dictionary<string, string> extras = responseInfo.GetResponseExtras();
    string mediationGroupName = extras["mediation_group_name"];
    string mediationABTestName = extras["mediation_ab_test_name"];
    string mediationABTestVariant = extras["mediation_ab_test_variant"];
}

落札された広告ソースについて詳しくは、広告レスポンスに関する情報を取得するをご覧ください。

App Attribution Partner(AAP)との統合

広告収益データを分析プラットフォームに転送する方法について詳しくは、各パートナーのガイドをご覧ください。

パートナー SDK
調整
AppsFlyer
単数形
天人

実装に関するベスト プラクティス

  • OnPaidEvent イベントは、広告オブジェクトの作成後、または広告オブジェクトへのアクセス権を取得したら、広告を表示する前にすぐに設定します。これにより、コールバックを見逃すことがなくなります。
  • インプレッション単位の広告収益の情報は、すぐに OnPaidEvent ハンドラでご希望の分析サーバーに送信します。これにより、誤ってコールバックを逃すことを防ぎ、データの不一致を回避できます。

AdValue

AdValue は広告で得られた金銭的価値を表すクラスです。金額の通貨コードと、次のようにエンコードされた精度タイプが含まれます。

AdValue.PrecisionType 説明
Unknown 広告の価値が不明。LTV Pingback が有効になっているものの、十分なデータがない場合に返されます。
Estimated 集計データから推定された広告の価値。
PublisherProvided パブリッシャーが指定した広告の価値(メディエーション グループ内の手動 CPM など)。
Precise この広告の正確な価値。

メディエーションの場合、AdMob は最適化された広告ソースに対して ESTIMATED 値を提供しようとします。広告ソースが最適化されていない場合や、意味のある予測をレポートするのに十分な集計データがない場合は、PUBLISHER_PROVIDED 値が返されます。