AdSelectionManager.ReportImpression Método

Definição

Notifica o serviço de que há uma nova impressão a ser reportada para o anúncio selecionado pela execução de seleção de anúncios 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

executor
IExecutor
receiver
IOutcomeReceiver
Atributos

Comentários

Notifica o serviço de que há uma nova impressão a ser reportada para o anúncio selecionado pela execução de seleção de anúncios identificada por adSelectionId. Não há garantia de quando a impressão será relatada. O relatório de impressão pode ser atrasado e os relatórios podem ser em lotes.

Para calcular a URL de relatório do vendedor vencedor, o serviço busca a lógica javaScript do vendedor do AdSelectionConfig#getDecisionLogicUri() encontrado em ReportImpressionRequest#getAdSelectionConfig(). Em seguida, o serviço executa uma das funções encontradas no JS do vendedor chamado reportResult, fornecendo sinais no dispositivo, bem como ReportImpressionRequest#getAdSelectionConfig() parâmetros de entrada.

A definição de reportResult função é:

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 a URL de relatório do comprador vencedor, o serviço busca a lógica JavaScript do comprador vencedor, que é buscada por meio do android.adservices.customaudience.CustomAudience#getBiddingLogicUri()comprador. Em seguida, o serviço executa uma das funções encontradas no JS comprador chamado reportWin, fornecendo sinais no dispositivo, signals_for_buyer calculados por reportResulte campos específicos de como parâmetros de ReportImpressionRequest#getAdSelectionConfig() entrada.

A definição de reportWin função é:

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}; }}

Além disso, compradores e vendedores têm a opção de se registrar para receber relatórios sobre eventos de anúncios específicos. Para fazer isso, eles podem invocar a função fornecida registerAdBeacon pela plataforma dentro reportWin e reportResult para compradores e vendedores, respectivamente.

A definição de registerBeacon função é:

function registerAdBeacon(beacons), onde beacons é um ditado de cadeia de caracteres para pares de cadeia de caracteres

Para cada evento de anúncio para o beacons qual um comprador/vendedor está interessado em relatórios, eles adicionam um event_keypar : event_reporting_uri ao ditado, onde event_key está um identificador para esse evento específico. Isso event_key deve corresponder ReportEventRequest#getKey() quando o SDK invocar #reportEvent. Além disso, cada event_reporting_uri um deve analisar corretamente em um android.net.Uri. Isso será android.net.Uri relatado quando o SDK invocar #reportEvent.

Quando o comprador/vendedor tiver adicionado todos os emparelhamentos para os quais deseja receber eventos, ele poderá invocar registerAdBeacon(beacons), onde beacons está o nome do ditado ao qual eles adicionaram os pares.

registerAdBeacon gerará um TypeError nestas situações:

<ol><li>registerAdBeaconé chamado mais de uma vez. Se esse erro for capturado em reportWin/reportResult, o conjunto original de emparelhamentos será registrado <li>registerAdBeacon não tem exatamente um argumento de ditado. <li>O conteúdo do argumento 1 de ditado não são todos String: String pares. </ol>

A saída é passada pelo receiver, que retorna um vazio Object para uma execução Exception bem-sucedida ou inclui o tipo da exceção gerada e a mensagem de erro correspondente.

Se for IllegalArgumentException gerada, ela será causada por um argumento de entrada inválido que a API recebeu para relatar a impressão.

Se for gerada com a IllegalStateException mensagem de erro "Falha dos serviços do AdSelection.", ela será causada por uma falha interna do serviço de seleção de anúncios.

Se for LimitExceededException gerado, ele será causado quando o pacote de chamada exceder os limites de taxa permitidos e for limitado.

Se a opção SecurityException for gerada, ela será causada quando o chamador não estiver autorizado ou a permissão não for solicitada.

As impressões serão relatadas no máximo uma vez como uma tentativa de melhor esforço.

Java documentação para android.adservices.adselection.AdSelectionManager.reportImpression(android.adservices.adselection.ReportImpressionRequest, java.util.concurrent.Executor, android.os.OutcomeReceiver<java.lang.Object, java.lang.Exception>).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a