インプレッションが発生すると、そのインプレッションに関連付けられた広告収益データが Google Mobile Ads SDK によって提供されます。このデータを使用して、ユーザーのライフタイム バリューを計算したり、データをダウンストリームの他の関連システムに転送したりできます。
このガイドでは、Unity プロジェクトにインプレッション単位の広告収益データ キャプチャを実装する方法について説明します。
前提条件
- AdMob の管理画面でインプレッション単位の広告収益機能を有効にしていること。
- Unity プラグイン 5.0.0 以降。
- スタートガイドの手順を完了していることUnity アプリに Google Mobile Ads Unity プラグインをインポートしておく必要があります。
インプレッション単位の広告収益データを受け取るには、次の広告フォーマットを少なくとも 1 つ実装しておく必要があります。
有料イベント ハンドラの実装
各広告フォーマットには 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
値が返されます。