AdSelectionManager
  public
  
  
  
  class
  AdSelectionManager
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.adservices.adselection.AdSelectionManager | 
O AdSelection Manager oferece APIs para que apps e SDKs de anúncios executem processos de seleção de anúncios, além de no relatório de impressões.
Resumo
Métodos públicos | |
|---|---|
        
        
        static
        
        
        AdSelectionManager
     | 
  
    
      
      get(Context context)
      
      
        Método de fábrica para criar uma instância do AdSelectionManager.  | 
  
        
        
        
        
        
        void
     | 
  
    
      
      getAdSelectionData(GetAdSelectionDataRequest request, Executor executor, OutcomeReceiver<GetAdSelectionDataOutcome, Exception> receiver)
      
      
        Coleta dados de público-alvo personalizado do dispositivo.  | 
  
        
        
        
        
        
        TestAdSelectionManager
     | 
  
    
      
      getTestAdSelectionManager()
      
      
     | 
  
        
        
        
        
        
        void
     | 
  
    
      
      persistAdSelectionResult(PersistAdSelectionResultRequest request, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
      
      
        Mantém os resultados da seleção de anúncios do lado do servidor.  | 
  
        
        
        
        
        
        void
     | 
  
    
      
      reportEvent(ReportEventRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
      
      
        Notifica o serviço de que há um novo evento de anúncio a ser relatado para o anúncio selecionado pelo
 de seleção de anúncios identificada por   | 
  
        
        
        
        
        
        void
     | 
  
    
      
      reportImpression(ReportImpressionRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
      
      
        Notifica o serviço de que há uma nova impressão a ser informada para o anúncio selecionado pelo
 de seleção de anúncios identificada por   | 
  
        
        
        
        
        
        void
     | 
  
    
      
      selectAds(AdSelectionFromOutcomesConfig adSelectionFromOutcomesConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
      
      
        Seleciona um anúncio entre os resultados de seleções de anúncios executadas anteriormente.  | 
  
        
        
        
        
        
        void
     | 
  
    
      
      selectAds(AdSelectionConfig adSelectionConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
      
      
        Executa o processo de seleção de anúncios no dispositivo para selecionar um anúncio de remarketing para o autor da chamada para o aplicativo.  | 
  
        
        
        
        
        
        void
     | 
  
    
      
      updateAdCounterHistogram(UpdateAdCounterHistogramRequest updateAdCounterHistogramRequest, Executor executor, OutcomeReceiver<Object, Exception> outcomeReceiver)
      
      
        Atualiza os histogramas de contador de um anúncio que foi selecionado anteriormente por uma chamada para   | 
  
Métodos herdados | |
|---|---|
Métodos públicos
get
public static AdSelectionManager get (Context context)
Método de fábrica para criar uma instância do AdSelectionManager.
| Parâmetros | |
|---|---|
context | 
        
          Context: o Context a ser usado.
 Esse valor não pode ser null. | 
      
| Retorna | |
|---|---|
AdSelectionManager | 
        Uma instância AdSelectionManager
 
 Esse valor não pode ser null. | 
      
getAdSelectionData
public void getAdSelectionData (GetAdSelectionDataRequest request, Executor executor, OutcomeReceiver<GetAdSelectionDataOutcome, Exception> receiver)
Coleta dados de público-alvo personalizado do dispositivo. Retorna um blob compactado e criptografado para enviar servidores de leilão para seleção de anúncios. Para mais detalhes, acesse Lances e os serviços de leilão.
Os anúncios de público-alvo personalizado precisam ter uma ad_render_id para que possam ser coletados.
 
Consulte AdSelectionManager#persistAdSelectionResult para saber como processar os resultados de
 a seleção de anúncios executada no lado do servidor com o blob gerado por esta API.
 
A saída é transmitida pelo receptor, que retorna um GetAdSelectionDataOutcome para uma execução bem-sucedida ou um Exception inclui o tipo de
 a exceção gerada e a mensagem de erro correspondente.
 
Se a IllegalArgumentException for gerada, ela será causada por um argumento de entrada inválido.
 que a API recebeu para executar a seleção de anúncios.
 
Se a IllegalStateException for gerada com a mensagem de erro "Falha do AdSelection".
 serviços", é causado por uma falha interna do serviço de seleção de anúncios.
 
Se a TimeoutException for gerada, isso será causado quando um tempo limite for encontrado.
 durante a licitação, pontuação ou processo de seleção geral para encontrar o anúncio vencedor.
 
Se a LimitExceededException for gerada, isso será causado quando o pacote de chamada
 excede os limites de taxa permitidos e é limitado.
 
Se o SecurityException for gerado, isso será causado quando o autor da chamada não for autorizado.
 ou a permissão não é solicitada.
 
 
 Requer AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
| Parâmetros | |
|---|---|
request | 
        
          GetAdSelectionDataRequest: este valor não pode ser null. | 
      
executor | 
        
          Executor: este valor não pode ser null.
 
 Eventos de retorno de chamada e escuta são despachados através deste
 Executor, que oferece uma maneira fácil de controlar qual linha de execução é
 usados. Para enviar eventos pela linha de execução principal do
 você pode usar
 Context.getMainExecutor():
 Caso contrário, forneça um Executor que seja enviado para uma linha de execução adequada. | 
      
receiver | 
        
          OutcomeReceiver: este valor não pode ser null. | 
      
getTestAdSelectionManager
public TestAdSelectionManager getTestAdSelectionManager ()
| Retorna | |
|---|---|
TestAdSelectionManager | 
        Esse valor não pode ser null. | 
      
persistAdSelectionResult
public void persistAdSelectionResult (PersistAdSelectionResultRequest request, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
Mantém os resultados da seleção de anúncios do lado do servidor. Para mais detalhes, acesse Lances e os serviços de leilão
Consulte AdSelectionManager#getAdSelectionData para saber como gerar um blob criptografado para
 executar uma seleção de anúncios no lado do servidor.
 
A saída é transmitida pelo receptor, que retorna uma AdSelectionOutcome
 para uma execução bem-sucedida, ou um Exception inclui o tipo da exceção gerada e
 a mensagem de erro correspondente.
 
Se a IllegalArgumentException for gerada, ela será causada por um argumento de entrada inválido.
 que a API recebeu para executar a seleção de anúncios.
 
Se a IllegalStateException for gerada com a mensagem de erro "Falha do AdSelection".
 serviços", é causado por uma falha interna do serviço de seleção de anúncios.
 
Se a TimeoutException for gerada, isso será causado quando um tempo limite for encontrado.
 durante a licitação, pontuação ou processo de seleção geral para encontrar o anúncio vencedor.
 
Se a LimitExceededException for gerada, isso será causado quando o pacote de chamada
 excede os limites de taxa permitidos e é limitado.
 
Se o SecurityException for gerado, isso será causado quando o autor da chamada não for autorizado.
 ou a permissão não é solicitada.
 
 
 Requer AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
| Parâmetros | |
|---|---|
request | 
        
          PersistAdSelectionResultRequest: este valor não pode ser null. | 
      
executor | 
        
          Executor: este valor não pode ser null.
 
 Eventos de retorno de chamada e escuta são despachados através deste
 Executor, que oferece uma maneira fácil de controlar qual linha de execução é
 usados. Para enviar eventos pela linha de execução principal do
 você pode usar
 Context.getMainExecutor():
 Caso contrário, forneça um Executor que seja enviado para uma linha de execução adequada. | 
      
receiver | 
        
          OutcomeReceiver: este valor não pode ser null. | 
      
reportEvent
public void reportEvent (ReportEventRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
Notifica o serviço de que há um novo evento de anúncio a ser relatado para o anúncio selecionado pelo
 de seleção de anúncios identificada por adSelectionId. Um evento de anúncio é qualquer ocorrência que
 acontece com um anúncio associado ao adSelectionId especificado. Não há garantia de que
 quando o evento de anúncio será informado. A geração de relatórios de eventos pode atrasar, e os relatórios podem ser
 em lotes.
 
Usando ReportEventRequest#getKey(), o serviço vai buscar a reportingUri
 que foi registrado em registerAdBeacon. Consulte a documentação de reportImpression(ReportImpressionRequest, Executor, OutcomeReceiver) para saber mais sobre registerAdBeacon. Em seguida, o serviço
 anexa ReportEventRequest#getData() ao corpo de uma solicitação POST e
 envie a solicitação. O corpo da solicitação POST terá o content-type de text/plain, e os dados serão transmitidos em charset=UTF-8.
 
A saída é transmitida pelo receptor, que retorna um Object vazio para um
 executado corretamente, ou um Exception inclui o tipo da exceção gerada e o
 mensagem de erro correspondente.
 
Se a IllegalArgumentException for gerada, ela será causada por um argumento de entrada inválido.
 que a API recebeu para informar o evento de anúncio.
 
Se a IllegalStateException for gerada com a mensagem de erro "Falha do AdSelection".
 serviços", é causado por uma falha interna do serviço de seleção de anúncios.
 
Se a LimitExceededException for gerada, isso será causado quando o pacote de chamada
 excede os limites de taxa permitidos e é limitado.
 
Se o SecurityException for gerado, isso será causado quando o autor da chamada não for autorizado.
 ou a permissão não é solicitada.
 
Os eventos serão informados no máximo uma vez como uma tentativa de melhor esforço.
 
 
 Requer AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
| Parâmetros | |
|---|---|
request | 
        
          ReportEventRequest: este valor não pode ser null. | 
      
executor | 
        
          Executor: este valor não pode ser null. | 
      
receiver | 
        
          OutcomeReceiver: este valor não pode ser null. | 
      
reportImpression
public void reportImpression (ReportImpressionRequest request, Executor executor, OutcomeReceiver<Object, Exception> receiver)
Notifica o serviço de que há uma nova impressão a ser informada para o anúncio selecionado pelo
 de seleção de anúncios identificada por adSelectionId. Não há garantia de quando
 impressão será informada. A geração de relatórios de impressões pode ser atrasada, e os relatórios podem ser
 em lotes.
 
Para calcular o URL de relatório do vendedor vencedor, o serviço busca o JavaScript do vendedor
 lógica do AdSelectionConfig#getDecisionLogicUri() encontrada em ReportImpressionRequest.getAdSelectionConfig(). Em seguida, o serviço executa uma das
 encontradas no JavaScript do vendedor chamadas reportResult, fornecendo indicadores no dispositivo como
 bem como ReportImpressionRequest#getAdSelectionConfig() como parâmetros de entrada.
 
A definição da função de 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 } }; } 
 
Para calcular o URL de relatório do comprador vencedor, o serviço busca o URL
 A lógica do JavaScript, que é buscada pelo CustomAudience.getBiddingLogicUri() do comprador. Em seguida, o serviço
 executa uma das funções encontradas no JS do comprador, chamada reportWin, fornecendo
 indicadores no dispositivo, signals_for_buyer calculados por reportResult, e métricas
 campos de ReportImpressionRequest#getAdSelectionConfig() como parâmetros de entrada.
 
A definição da função de 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 } }; } 
 
Além disso, compradores e vendedores têm a opção de se registrar para receber relatórios sobre
 eventos de anúncio. Para fazer isso, ele pode invocar a função registerAdBeacon fornecida pela plataforma
 em reportWin e reportResult para compradores e vendedores, respectivamente.
 
A definição da função de registerBeacon é:
 
function registerAdBeacon(beacons), em que beacons é um dict de string para
 pares de strings
 
Para cada evento de anúncio para o qual um comprador/vendedor tem interesse em relatórios, ele precisa adicionar um par event_key: event_reporting_uri ao dicionário beacons, em que event_key é um identificador desse evento específico. Este event_key precisa corresponder
 ReportEventRequest#getKey() quando o SDK invoca reportEvent(ReportEventRequest, Executor, OutcomeReceiver). Além disso,
 cada event_reporting_uri precisa ser analisado corretamente em um Uri. Isso
 será o Uri informado quando o SDK invocar reportEvent(ReportEventRequest, Executor, OutcomeReceiver).
 
Depois que o comprador/vendedor adicionar todas as combinações de que quer receber eventos, poderá
 invoque registerAdBeacon(beacons), em que beacons é o nome do dicionário usado
 em que os pares foram adicionados.
 
A registerAdBeacon gera uma TypeError nestas situações:
 
registerAdBeaconé chamado mais de uma vez. Se esse erro for capturado reportWin/reportResult, o conjunto original de pareamentos será registradoregisterAdBeaconnão tem exatamente um argumento dict.- O conteúdo do argumento de 1 dict não são todos pares de 
String: String. 
A saída é transmitida por receiver, que retorna um Object vazio.
 para uma execução bem-sucedida, ou uma Exception inclui o tipo da exceção gerada e
 a mensagem de erro correspondente.
 
Se a IllegalArgumentException for gerada, ela será causada por um argumento de entrada inválido.
 que a API recebeu para relatar a impressão.
 
Se a IllegalStateException for gerada com a mensagem de erro "Falha do AdSelection".
 serviços", é causado por uma falha interna do serviço de seleção de anúncios.
 
Se a LimitExceededException for gerada, isso será causado quando o pacote de chamada
 excede os limites de taxa permitidos e é limitado.
 
Se o SecurityException for gerado, isso será causado quando o autor da chamada não for autorizado.
 ou a permissão não é solicitada.
 
As impressões serão informadas no máximo uma vez como tentativa de melhor esforço.
 
 
 Requer AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
| Parâmetros | |
|---|---|
request | 
        
          ReportImpressionRequest: este valor não pode ser null. | 
      
executor | 
        
          Executor: este valor não pode ser null. | 
      
receiver | 
        
          OutcomeReceiver: este valor não pode ser null. | 
      
selectAds
public void selectAds (AdSelectionFromOutcomesConfig adSelectionFromOutcomesConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
Seleciona um anúncio entre os resultados de seleções de anúncios executadas anteriormente.
A entrada adSelectionFromOutcomesConfig é fornecida pelo SDK de anúncios, e o objeto AdSelectionFromOutcomesConfig é transferido por uma chamada de vinculação. Por esse motivo, a
 o tamanho total desses objetos está vinculado às limitações de IPC do Android. Falhas na transferência do
 AdSelectionFromOutcomesConfig vai gerar uma TransactionTooLargeException.
 
A saída é transmitida pelo receptor, que retorna uma AdSelectionOutcome
 para uma execução bem-sucedida, ou um Exception inclui o tipo da exceção gerada e
 a mensagem de erro correspondente.
 
A entrada adSelectionFromOutcomesConfig contém:
 
Sellerprecisa ser umAdTechIdentifierregistrado. Caso contrário,IllegalStateExceptionserá gerado.List of ad selection idsprecisa existir e vir de chamadasselectAds(AdSelectionConfig, Executor, OutcomeReceiver)originadas do mesmo aplicativo. Caso contrário,IllegalArgumentExceptionpara validação de entrada vai aumentar a listagem que viola a política IDs de seleção.Selection logic URIque pode seguir o HTTPS ou a seleção de anúncios pré-criada de rede.Se o URI segue o esquema HTTPS, o host precisa corresponder ao
seller. Caso contrário, umaIllegalArgumentExceptionserá gerada.URIs pré-criados são uma forma de substituir uma lógica genérica pré-criada pelo JavaScripts para
selectOutcome. O URI pré-criado para esse endpoint deve ser o seguinte:ad-selection-prebuilt://ad-selection-from-outcomes/<name>?<script-generation-parameters>
Se um URI pré-criado sem suporte for transmitido ou se o recurso de URI pré-criado for desativado pelo serviço,
IllegalArgumentExceptionserá gerado.Consulte
AdSelectionFromOutcomesConfig.Builder#setSelectionLogicUripara saber quais são os recursos<name>e<script-generation-parameters>obrigatórios.
Se a IllegalArgumentException for gerada, ela será causada por um argumento de entrada inválido.
 que a API recebeu para executar a seleção de anúncios.
 
Se a IllegalStateException for gerada com a mensagem de erro "Falha do AdSelection".
 serviços", é causado por uma falha interna do serviço de seleção de anúncios.
 
Se a TimeoutException for gerada, isso será causado quando um tempo limite for encontrado.
 durante a licitação, pontuação ou processo de seleção geral para encontrar o anúncio vencedor.
 
Se a LimitExceededException for gerada, isso será causado quando o pacote de chamada
 excede os limites de taxa permitidos e é limitado.
 
Se o SecurityException for gerado, isso será causado quando o autor da chamada não for autorizado.
 ou a permissão não é solicitada.
 
 
 Requer AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
| Parâmetros | |
|---|---|
adSelectionFromOutcomesConfig | 
        
          AdSelectionFromOutcomesConfig: este valor não pode ser null. | 
      
executor | 
        
          Executor: este valor não pode ser null.
 
 Eventos de retorno de chamada e escuta são despachados através deste
 Executor, que oferece uma maneira fácil de controlar qual linha de execução é
 usados. Para enviar eventos pela linha de execução principal do
 você pode usar
 Context.getMainExecutor():
 Caso contrário, forneça um Executor que seja enviado para uma linha de execução adequada. | 
      
receiver | 
        
          OutcomeReceiver: este valor não pode ser null. | 
      
selectAds
public void selectAds (AdSelectionConfig adSelectionConfig, Executor executor, OutcomeReceiver<AdSelectionOutcome, Exception> receiver)
Executa o processo de seleção de anúncios no dispositivo para selecionar um anúncio de remarketing para o autor da chamada para o aplicativo.
A entrada adSelectionConfig é fornecida pelo SDK de anúncios, e o objeto AdSelectionConfig é transferido por uma chamada de vinculação. Por isso, o tamanho total
 desses objetos está vinculado às limitações da IPC do Android. Falhas na transferência do AdSelectionConfig vão gerar uma TransactionTooLargeException.
 
A entrada adSelectionConfig contém Decision Logic Uri que pode seguir
 os esquemas HTTPS ou pré-criados da seleção de anúncios.
 
Se o URI segue o esquema HTTPS, o host precisa corresponder ao seller. Caso contrário,
 IllegalArgumentException será gerado.
 
URIs pré-criados são uma forma de substituir uma lógica genérica pré-criada pelo
 JavaScripts para scoreAds. O URI pré-criado para esse endpoint deve ser o seguinte:
 
ad-selection-prebuilt://ad-selection/<name>?<script-generation-parameters>
Se um URI pré-criado sem suporte for transmitido ou se o recurso de URI pré-criado for desativado pelo
 serviço, IllegalArgumentException será gerado.
 
Consulte AdSelectionConfig.Builder#setDecisionLogicUri para conferir os <name> e
 <script-generation-parameters> obrigatório.
 
A saída é transmitida pelo receptor, que retorna uma AdSelectionOutcome
 para uma execução bem-sucedida, ou um Exception inclui o tipo da exceção gerada e
 a mensagem de erro correspondente.
 
Se a IllegalArgumentException for gerada, ela será causada por um argumento de entrada inválido.
 que a API recebeu para executar a seleção de anúncios.
 
Se a IllegalStateException for gerada com a mensagem de erro "Falha do AdSelection".
 serviços", é causado por uma falha interna do serviço de seleção de anúncios.
 
Se a TimeoutException for gerada, isso será causado quando um tempo limite for encontrado.
 durante a licitação, pontuação ou processo de seleção geral para encontrar o anúncio vencedor.
 
Se a LimitExceededException for gerada, isso será causado quando o pacote de chamada
 excede os limites de taxa permitidos e é limitado.
 
Se o SecurityException for gerado, isso será causado quando o autor da chamada não for autorizado.
 ou a permissão não é solicitada.
 
 
 Requer AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
| Parâmetros | |
|---|---|
adSelectionConfig | 
        
          AdSelectionConfig: este valor não pode ser null. | 
      
executor | 
        
          Executor: este valor não pode ser null.
 
 Eventos de retorno de chamada e escuta são despachados através deste
 Executor, que oferece uma maneira fácil de controlar qual linha de execução é
 usados. Para enviar eventos pela linha de execução principal do
 você pode usar
 Context.getMainExecutor():
 Caso contrário, forneça um Executor que seja enviado para uma linha de execução adequada. | 
      
receiver | 
        
          OutcomeReceiver: este valor não pode ser null. | 
      
updateAdCounterHistogram
public void updateAdCounterHistogram (UpdateAdCounterHistogramRequest updateAdCounterHistogramRequest, Executor executor, OutcomeReceiver<Object, Exception> outcomeReceiver)
Atualiza os histogramas de contador de um anúncio que foi selecionado anteriormente por uma chamada para selectAds(android.adservices.adselection.AdSelectionConfig, java.util.concurrent.Executor, android.os.OutcomeReceiver).
 
Os histogramas de contador são usados na seleção de anúncios para informar a filtragem do limite de frequência anúncios candidatos, nos quais os anúncios cujos limites de frequência foram atingidos ou excedidos são removidos da de lances durante a seleção de anúncios.
Os histogramas de contador só podem ser atualizados para anúncios especificados pelo adSelectionId especificado, retornado por uma chamada recente para a seleção de anúncios do FLEDGE no mesmo app autor da chamada.
 
Um SecurityException será retornado pelo outcomeReceiver se:
 
- o app não tiver declarado as permissões corretas no manifesto; ou
 - o app ou a entidade identificada por 
callerAdTechIdentifiernão estão autorizados para usar a API. 
IllegalStateException vai ser retornado pelo outcomeReceiver se a chamada não
 não pode ser proveniente de um app com uma atividade em primeiro plano.
 Um LimitExceededException vai ser retornado pelo outcomeReceiver se a chamada
 excede a limitação da API do app de chamada.
 
Em todos os outros casos de falha, o outcomeReceiver vai retornar um Object vazio. Para proteger a privacidade do usuário, erros internos não serão devolvidos por um
 exceção.
 
 
 Requer AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE
| Parâmetros | |
|---|---|
updateAdCounterHistogramRequest | 
        
          UpdateAdCounterHistogramRequest: este valor não pode ser null. | 
      
executor | 
        
          Executor: este valor não pode ser null.
 
 Eventos de retorno de chamada e escuta são despachados através deste
 Executor, que oferece uma maneira fácil de controlar qual linha de execução é
 usados. Para enviar eventos pela linha de execução principal do
 você pode usar
 Context.getMainExecutor():
 Caso contrário, forneça um Executor que seja enviado para uma linha de execução adequada. | 
      
outcomeReceiver | 
        
          OutcomeReceiver: este valor não pode ser null. |