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

プラットフォームを選択: Android(ベータ版) 新規 Android iOS Unity

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

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

前提条件

有料イベント ハンドラを実装する

各広告フォーマットには OnAdPaid イベントが含まれています。Google Mobile Ads Unity Plugin は広告イベントのライフサイクル全体でインプレッション イベントをモニタリングしており、インプレッションが発生すると、得られた収益の値を表す AdValue とともにハンドラを呼び出します。

次の例では、リワード広告の有料イベントを処理します。

private void LoadRewardedAd()
{
   // Send the request to load the ad.
   AdRequest adRequest = new AdRequest();
   RewardedAd.Load("AD_UNIT_ID", adRequest, (RewardedAd rewardedAd, LoadAdError error) =>
   {
      // If the operation failed with a reason.
      if (error != null)
      {
         Debug.LogError("Rewarded ad failed to load an ad with error : " + error);
         return;
      }

      rewardedAd.OnAdPaid += this.HandleAdPaidEvent;
   });
}

public void HandleAdPaidEvent(AdValue adValue)
{
    // TODO: Send the impression-level ad revenue information to your
    // preferred analytics server directly within this callback.

    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"];
}

カスタム イベントの広告ソース名を特定する

カスタム イベントの広告ソースの場合、AdSourceName プロパティは広告ソース名 Custom Event を返します。複数のカスタム イベントを使用している場合、広告ソース名では複数のカスタム イベントを区別できません。特定のカスタム イベントを見つけるには、次の手順を行います。

  1. AdapterClassName プロパティを取得します。
  2. 一意の広告ソース名を設定します。

次の例では、カスタム イベントに一意の広告ソース名を設定しています。

private string GetAdSourceName(AdapterResponseInfo loadedAdapterResponseInfo)
{
    if (loadedAdapterResponseInfo == null)
    {
        return string.Empty;
    }

    string adSourceName = loadedAdapterResponseInfo.AdSourceName;

    if (adSourceName == "Custom Event")
    {

        #if UNITY_ANDROID
            if (loadedAdapterResponseInfo.AdapterClassName ==
                "com.google.ads.mediation.sample.customevent.SampleCustomEvent")
            {
                adSourceName = "Sample Ad Network (Custom Event)";
            }
        #elif UNITY_IPHONE
            if (loadedAdapterResponseInfo.AdapterClassName == "SampleCustomEvent")
            {
                adSourceName = "Sample Ad Network (Custom Event)";
            }
        #endif

    }
    return adSourceName;
}

広告枠を落札した広告ソースについてさらに詳しい情報が必要な場合は、広告レスポンスに関する情報を取得するをご覧ください。

App Attribution Partner(AAP)と統合する

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

パートナー SDK
Adjust
AppsFlyer
Singular
Tenjin

実装のヒント

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

AdValue

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

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

メディエーションの場合、AdMob は最適化された広告ソースについては Estimated 値を提供しようとします。最適化されていない広告ソースの場合や、意味のある推計を得るのに十分な集計データがない場合は、PublisherProvided 値が返されます。

入札広告ソースからのテスト インプレッション

テスト リクエストを通じて入札広告ソースでインプレッション単位の広告収益イベントが発生すると、次の値のみが返されます。

  • Unknown: 精度タイプを示します。
  • 0: 広告の価値を示します。

以前は、精度タイプが Unknown 以外の値として表示され、広告の値が 0 より大きい値として表示されることがありました。

テスト広告リクエストの送信について詳しくは、テストデバイスを有効にするをご覧ください。