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)]
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
參數
- request
- ReportImpressionRequest
- 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 被拋出,通常是因為呼叫者未被授權或未請求許可所致。
曝光次數最多只會被報告一次,作為盡力而為的嘗試。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。