インプレッションが発生すると、そのインプレッションに関連する広告収益データが Google Mobile Ads SDK によって提供されます。このデータを使用して、ユーザーのライフタイム バリューを計算したり、データをダウンストリームの他の関連システムに転送したりできます。
このガイドでは、Unity プロジェクトでインプレッション単位の広告収益データ キャプチャを実装する方法について説明します。
前提条件
- アド マネージャーの管理画面でインプレッション単位の広告収益機能を有効にしていること。
- 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 |
---|
Adjust |
AppsFlyer |
Singular |
Tenjin |
実装のヒント
- 広告オブジェクトを作成または取得したら、広告を表示する前に、すぐに
OnPaidEvent
イベントを設定します。これにより、コールバックを逃すことがなくなります。 OnPaidEvent
ハンドラで任意の分析サーバーにインプレッション単位の広告収益情報をすぐに送信します。これにより、誤ってコールバックを逃すことがなくなり、データの不一致を回避できます。
AdValue
AdValue
は、広告で得られた金銭的価値を表すクラスで、その金銭的価値の通貨コードと、以下に示すエンコードされた精度タイプが含まれます。
AdValue.PrecisionType |
説明 |
---|---|
Unknown |
広告の価値が不明。LTV Pingback が有効になっていても、十分なデータがない場合に返されます。 |
Estimated |
集計データから推定された広告の価値。 |
PublisherProvided |
パブリッシャーが指定した広告の価値(メディエーション グループ内の手動 CPM など)。 |
Precise |
この広告の正確な価値。 |
メディエーションの場合、アド マネージャーは自動データ収集が有効になっている広告ソースの ESTIMATED
値を提供しようとします。詳しくは、自動データ収集をご覧ください。自動データ収集が有効になっていない広告ソースの場合や、意味のある推計を得るのに十分な集計データがない場合は、PUBLISHER_PROVIDED
値が返されます。
Open Bidding からのテスト インプレッション
テスト リクエストを通じて Open Bidding の広告ソースでインプレッション単位の広告収益イベントが発生すると、次の値のみが返されます。
Unknown
: 精度タイプを示します。
0
: 広告の価値を示します。
以前は、精度タイプが Unknown
以外の値として表示され、広告の値が 0
より大きい値として表示されることがありました。
テスト広告リクエストの送信について詳しくは、テストデバイスを有効にするをご覧ください。