語言

AdSelectionManager.ReportImpression 方法

定義

通知服務,透過廣告選擇跑選 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)]
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)>]
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

參數

executor
IExecutor
receiver
IOutcomeReceiver
屬性

備註

通知服務,透過廣告選擇跑選 adSelectionId的廣告有新的曝光要報告。 無法保證該印象何時會被報告。 印象回報可以延遲,報告也可以分批處理。

為了計算中獎賣家的回報網址,服務會從 AdSelectionConfig#getDecisionLogicUri() 找到 ReportImpressionRequest#getAdSelectionConfig()的 中取得賣家的 JavaScript 邏輯。 接著,服務執行賣家 JS 中一個稱為 reportResult的函式,提供裝置上的訊號以及 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};}}

為了計算得標買家的回報網址,服務會取得得標買家的 JavaScript 邏輯,該邏輯是透過買家 android.adservices.customaudience.CustomAudience#getBiddingLogicUri()的 。 接著,服務執行買家 JS 中一個稱為 reportWin的函式,提供裝置上訊號,由 signals_for_buyer 計算 reportResult,並以特定欄位 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};}}

此外,買家和賣家可選擇註冊以接收特定廣告事件的報告。 為此,他們可以啟動平台在買賣reportWinreportResult雙方的內部及服務中提供registerAdBeacon的功能。

函 registerBeacon 數定義為:

function registerAdBeacon(beacons),其中 beacons 是字串對的字組

對於買家或賣家對報告感興趣的廣告事件,他們會在 dict 後beacons加上一個 event_key: event_reporting_uri 對,其中 event_key 是該事件的識別碼。 這event_key應該會與 SDK #reportEvent呼叫 . 相符ReportEventRequest#getKey()。 此外,每個 event_reporting_uri 都應該正確解析成一個 android.net.Uri。 當 SDK #reportEvent呼叫 時,這將被android.net.Uri回報到。

當買方/賣家加入所有他們想要接收事件的配對後,他們可以啟動 registerAdBeacon(beacons),其中 beacons 是他們加入配對的 dict 名稱。

registerAdBeacon 在以下情況下會擲出 a TypeError :

< > registerAdBeacon > <李老不只一次被叫來。 如果這個錯誤在 reportWin/reportResult 中被發現,原本的配對集合會被登錄 <,因為 LI>registerAdBeacon 沒有一個 dict 參數。 <李>1 dict 論證的內容並非所有 String: String 配對。 </ol>

輸出由 傳遞 receiver,該 要麼回傳成功執行的空 Object ,要麼 Exception 包含拋出的異常類型及相應的錯誤訊息。

如果拋出 , IllegalArgumentException 則是因為 API 收到的輸入參數無效,無法回報印象。

若 IllegalStateException 拋出錯誤訊息為「廣告選擇服務失敗」,則是廣告選擇服務內部故障所致。

如果拋棄, LimitExceededException 通常是因為呼叫的套件超過允許的速率限制並被限速。

如果 SecurityException 被拋出,通常是因為呼叫者未被授權或未請求許可所致。

曝光次數最多只會被報告一次,作為盡力而為的嘗試。

Java 文件 android.adservices.adselection.AdSelectionManager.reportImpression(android.adservices.adselection.ReportImpressionRequest, java.util.concurrent.Executor, android.os.OutcomeReceiver<java.lang.Object, java.lang.Exception>)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於