AdSelectionManager.ReportImpression Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Notifica al servicio que hay una nueva impresión para informar del anuncio seleccionado por la ejecución de selección de anuncios identificada por 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
Parámetros
- request
- ReportImpressionRequest
- executor
- IExecutor
- receiver
- IOutcomeReceiver
- Atributos
Comentarios
Notifica al servicio que hay una nueva impresión para informar del anuncio seleccionado por la ejecución de selección de anuncios identificada por adSelectionId. No hay ninguna garantía sobre cuándo se notificará la impresión. Los informes de impresión podrían retrasarse y los informes se podrían procesar por lotes.
Para calcular la dirección URL ganadora de informes de vendedores, el servicio captura la lógica de JavaScript del vendedor del que AdSelectionConfig#getDecisionLogicUri() se encuentra en ReportImpressionRequest#getAdSelectionConfig(). A continuación, el servicio ejecuta una de las funciones que se encuentran en el vendedor JS llamado reportResult, proporcionando señales en el dispositivo, así como ReportImpressionRequest#getAdSelectionConfig() parámetros de entrada.
La definición de función de reportResult es:
function reportResult(ad_selection_config, render_url, bid, contextual_signals) { return { 'status': status, 'results': {'signals_for_buyer': signals_for_buyer, 'reporting_url': reporting_url}; }}
Para calcular la dirección URL de informe del comprador ganador, el servicio captura la lógica de JavaScript del comprador ganador que se captura a través del android.adservices.customaudience.CustomAudience#getBiddingLogicUri()comprador. A continuación, el servicio ejecuta una de las funciones que se encuentran en el comprador JS denominada reportWin, proporcionando señales en el dispositivo, signals_for_buyer calculadas por reportResulty campos específicos de como parámetros de ReportImpressionRequest#getAdSelectionConfig() entrada.
La definición de función de reportWin es:
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}; }}
Además, los compradores y vendedores tienen la opción de registrarse para recibir informes sobre eventos de anuncios específicos. Para ello, pueden invocar la función proporcionada registerAdBeacon por la plataforma dentro reportWin y reportResult para compradores y vendedores, respectivamente.
La definición de función de registerBeacon es:
function registerAdBeacon(beacons), donde beacons es un dict de cadena a pares de cadenas
Para cada evento de anuncio para el que un comprador o vendedor está interesado en los informes, agregarían un event_keypar : event_reporting_uri al beacons dict, donde event_key es un identificador para ese evento específico. Esto event_key debe coincidir ReportEventRequest#getKey() cuando el SDK invoca #reportEvent. Además, cada uno event_reporting_uri de ellos debe analizarse correctamente en un android.net.Uri. Se notificará android.net.Uri a cuando el SDK invoque #reportEvent.
Cuando el comprador o vendedor ha agregado todos los emparejamientos para los que quieren recibir eventos, pueden invocar registerAdBeacon(beacons), donde beacons es el nombre del dict al que agregaron los pares.
registerAdBeacon producirá una TypeError excepción en estas situaciones:
<ol><li>registerAdBeaconse llama más de una vez. Si este error se detecta en reportWin/reportResult, el conjunto original de emparejamientos se registrará <li>registerAdBeacon no tiene exactamente 1 argumento dict.
<li>El contenido del argumento 1 dict no son todos los String: String emparejamientos.
</ol>
El resultado se pasa por , receiverque devuelve un vacío Object para una ejecución correcta, o Exception bien incluye el tipo de la excepción iniciada y el mensaje de error correspondiente.
Si se produce , IllegalArgumentException se debe a un argumento de entrada no válido que la API recibida notifique la impresión.
Si se produce con el IllegalStateException mensaje de error "Error de los servicios de AdSelection", se debe a un error interno del servicio de selección de anuncios.
LimitExceededException Si se produce , se produce cuando el paquete de llamada supera los límites de velocidad permitidos y se limita.
Si se produce , SecurityException se produce cuando el autor de la llamada no está autorizado o no se solicita permiso.
Las impresiones se notificarán como máximo una vez como intento de mejor esfuerzo.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.