AdSelectionManager.ReportImpression メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
adSelectionIdで識別された広告選択実行によって選択された広告について、新しいインプレッションを報告する必要があることをサービスに通知します。
[Android.Runtime.Register("reportImpression", "(Landroid/adservices/adselection/ReportImpressionRequest;Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;)V", "GetReportImpression_Landroid_adservices_adselection_ReportImpressionRequest_Ljava_util_concurrent_Executor_Landroid_os_OutcomeReceiver_Handler", ApiSince=34)]
[Android.Runtime.RequiresPermission("android.permission.ACCESS_ADSERVICES_CUSTOM_AUDIENCE")]
public virtual void ReportImpression(Android.AdServices.AdSelection.ReportImpressionRequest request, Java.Util.Concurrent.IExecutor executor, Android.OS.IOutcomeReceiver receiver);
[Android.Runtime.Register("reportImpression", "(Landroid/adservices/adselection/ReportImpressionRequest;Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;)V", "GetReportImpression_Landroid_adservices_adselection_ReportImpressionRequest_Ljava_util_concurrent_Executor_Landroid_os_OutcomeReceiver_Handler", ApiSince=34)]
public virtual void ReportImpression(Android.AdServices.AdSelection.ReportImpressionRequest request, Java.Util.Concurrent.IExecutor executor, Android.OS.IOutcomeReceiver receiver);
[<Android.Runtime.Register("reportImpression", "(Landroid/adservices/adselection/ReportImpressionRequest;Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;)V", "GetReportImpression_Landroid_adservices_adselection_ReportImpressionRequest_Ljava_util_concurrent_Executor_Landroid_os_OutcomeReceiver_Handler", ApiSince=34)>]
[<Android.Runtime.RequiresPermission("android.permission.ACCESS_ADSERVICES_CUSTOM_AUDIENCE")>]
abstract member ReportImpression : Android.AdServices.AdSelection.ReportImpressionRequest * Java.Util.Concurrent.IExecutor * Android.OS.IOutcomeReceiver -> unit
override this.ReportImpression : Android.AdServices.AdSelection.ReportImpressionRequest * Java.Util.Concurrent.IExecutor * Android.OS.IOutcomeReceiver -> unit
[<Android.Runtime.Register("reportImpression", "(Landroid/adservices/adselection/ReportImpressionRequest;Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;)V", "GetReportImpression_Landroid_adservices_adselection_ReportImpressionRequest_Ljava_util_concurrent_Executor_Landroid_os_OutcomeReceiver_Handler", ApiSince=34)>]
abstract member ReportImpression : Android.AdServices.AdSelection.ReportImpressionRequest * Java.Util.Concurrent.IExecutor * Android.OS.IOutcomeReceiver -> unit
override this.ReportImpression : Android.AdServices.AdSelection.ReportImpressionRequest * Java.Util.Concurrent.IExecutor * Android.OS.IOutcomeReceiver -> unit
パラメーター
- request
- ReportImpressionRequest
- executor
- IExecutor
- receiver
- IOutcomeReceiver
- 属性
注釈
adSelectionIdで識別された広告選択実行によって選択された広告について、新しいインプレッションを報告する必要があることをサービスに通知します。 インプレッションが報告されるタイミングに関する保証はありません。 インプレッション レポートは遅延し、レポートはバッチ処理される可能性があります。
当選販売者レポート URL を計算するために、サービスは販売者の JavaScript ロジックを、ReportImpressionRequest#getAdSelectionConfig()にあるAdSelectionConfig#getDecisionLogicUri()からフェッチします。 その後、サービスは、 reportResultと呼ばれる販売者 JS にある関数の 1 つを実行し、入力パラメーターとして ReportImpressionRequest#getAdSelectionConfig() と同様に、デバイス上の信号を提供します。
reportResultの関数定義は次のとおりです。
function reportResult(ad_selection_config, render_url, bid, contextual_signals) { return { 'status': status, 'results': {'signals_for_buyer': signals_for_buyer, 'reporting_url': reporting_url};}}
成功した購入者レポート URL を計算するために、サービスは、購入者の android.adservices.customaudience.CustomAudience#getBiddingLogicUri()を介してフェッチされる、受賞した購入者の JavaScript ロジックをフェッチします。 次に、サービスは、reportWinと呼ばれる購入者 JS で見つかったいずれかの関数を実行し、デバイス上の信号、reportResultによって計算されたsignals_for_buyer、および入力パラメーターとしてReportImpressionRequest#getAdSelectionConfig()からの特定のフィールドを提供します。
reportWinの関数定義は次のとおりです。
function reportWin(ad_selection_signals, per_buyer_signals, signals_for_buyer, contextual_signals, custom_audience_reporting_signals) { return {'status': 0, 'results': {'reporting_url': reporting_url};}}
さらに、購入者と販売者には、特定の広告イベントに関するレポートを受け取るために登録するオプションがあります。 そのためには、reportWin内で提供されるプラットフォームregisterAdBeacon関数を呼び出し、購入者と販売者にreportResultを呼び出すことができます。
registerBeaconの関数定義は次のとおりです。
function registerAdBeacon(beacons)(ここで、 beacons は文字列と文字列のペアのディクテーションです)
購入者/販売者がレポートに関心を持っている広告イベントごとに、 event_key: event_reporting_uri ペアを beacons dict に追加します。ここで、 event_key はその特定のイベントの識別子です。 このevent_keyは、SDK が#reportEventを呼び出すときのReportEventRequest#getKey()と一致する必要があります。 さらに、各 event_reporting_uri は適切に解析して android.net.Uriにする必要があります。 これは、SDK が#reportEventを呼び出したときに報告されるandroid.net.Uriです。
購入者/販売者がイベントを受信するすべてのペアリングを追加したら、 registerAdBeacon(beacons)を呼び出すことができます。ここで、 beacons はペアを追加したディクトの名前です。
registerAdBeacon は、次のような状況で TypeError をスローします。
<ol><li>registerAdBeaconは複数回呼び出されます。 このエラーが reportWin/reportResult でキャッチされた場合、元のペアリング セットは <li に登録されます>registerAdBeacon 引数は 1 つだけありません。
<li> 1 dict 引数の内容は、すべての String: String ペアリングではありません。
</ol>
出力は receiverによって渡されます。これは、正常に実行するために空の Object を返すか、 Exception にスローされた例外の種類と対応するエラー メッセージが含まれます。
IllegalArgumentExceptionがスローされた場合、インプレッションを報告するために API が受け取った無効な入力引数が原因で発生します。
"AdSelection サービスのエラー" というエラー メッセージが表示された IllegalStateException がスローされた場合は、広告選択サービスの内部エラーが原因で発生します。
LimitExceededExceptionがスローされた場合、呼び出し元パッケージが許容レート制限を超え、調整されたときに発生します。
SecurityExceptionがスローされた場合、呼び出し元が承認されていないか、アクセス許可が要求されていないときに発生します。
インプレッションは、ベスト エフォート試行として最大 1 回報告されます。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。