ProtectedSignalsManager

public class ProtectedSignalsManager
extends Object

java.lang.Object
   ↳ android.adservices.signals.ProtectedSignalsManager


A ProtectedSignalsManager fornece APIs para que apps e SDKs de anúncios gerenciem os indicadores protegidos.

Resumo

Métodos públicos

static ProtectedSignalsManager get(Context context)

Método de fábrica para criar uma instância de ProtectedSignalsManager.

void updateSignals(UpdateSignalsRequest updateSignalsRequest, Executor executor, OutcomeReceiver<ObjectException> receiver)

A API updateSignals vai extrair um JSON do URI que descreve quais indicadores adicionar ou remover.

Métodos herdados

Métodos públicos

get

public static ProtectedSignalsManager get (Context context)

Método de fábrica para criar uma instância de ProtectedSignalsManager.

Parâmetros
context Context: o Context que será usado. Esse valor não pode ser null.

Retorna
ProtectedSignalsManager Uma instância de ProtectedSignalsManager Esse valor não pode ser null.

updateSignals

public void updateSignals (UpdateSignalsRequest updateSignalsRequest, 
                Executor executor, 
                OutcomeReceiver<ObjectException> receiver)

A API updateSignals recuperará um JSON do URI que descreve quais indicadores adicionar ou remover. Essa API também permite registrar o endpoint do codificador. O endpoint é usado para fazer o download de uma lógica de codificação, que permite codificar os sinais.

As chaves de nível superior do JSON precisam corresponder a um destes cinco comandos:

"put": adiciona um novo indicador, substituindo os indicadores existentes com a mesma chave. O valor para isso é um objeto JSON em que as chaves são strings de base 64 correspondentes à chave que será usada e os valores são uma string de base 64 correspondente ao valor que será usado.

"append": anexa novos indicadores a uma série temporal de indicadores, removendo os mais antigos para dar espaço aos novos quando o tamanho da série excede o máximo determinado. O valor para isso é um objeto JSON em que as chaves são strings de base 64 correspondentes à chave a ser anexada e os valores são objetos com dois campos: "values" e "maxSignals". "values" é uma lista de strings de base 64 correspondentes a valores de indicadores que serão anexados à série temporal. "maxSignals" é o número máximo de valores permitidos nessa série temporal. Se o número atual de indicadores associados à chave exceder "maxSignals", os indicadores mais antigos serão removidos. É possível anexar a uma chave adicionada por put. Não que anexar mais do que o número máximo de valores causará uma falha.

"put_if_not_present": adiciona um novo indicador somente se não houver indicadores com a mesma chave. O valor para isso é um objeto JSON em que as chaves são strings de base 64 correspondentes à chave que será usada e os valores são uma string de base 64 correspondente ao valor que será usado.

"remove": remove o indicador de uma chave. O valor para isso é uma lista de strings de base 64 correspondentes às chaves dos indicadores que precisam ser excluídos.

"update_encoder": fornece uma ação para atualizar o endpoint e um URI que pode ser usado para recuperar uma lógica de codificação. A subchave para fornecer uma ação de atualização é "action", e os valores aceitos atualmente são:

  1. "REGISTER" : registra o endpoint do codificador se fornecido pela primeira vez ou substitui o endpoint atual pelo novo fornecido. É necessário fornecer o "endpoint" para a ação "REGISTER".

A subchave para fornecer um endpoint do codificador é "endpoint", e o valor é a string de URI do endpoint.

A chave só pode ser operada por um comando por JSON. Se dois comandos tentarem operar na mesma chave, esse método vai usar uma IllegalArgumentException

Essa chamada falha com um SecurityException se

  1. ownerPackageName não esteja chamando o nome do pacote do app e/ou
  2. o comprador não está autorizado a usar a API.

Esta chamada vai falhar com um IllegalArgumentException se

  1. O JSON recuperado do servidor não é válido.
  2. O URI fornecido é inválido.

Essa chamada falha com LimitExceededException se o pacote de chamada exceder os limites de taxa permitidos e for limitado.

Essa chamada falha com um IllegalStateException se um erro interno de serviço for encontrado.
Requer AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

Parâmetros
updateSignalsRequest UpdateSignalsRequest: este valor não pode ser null.

executor Executor: este valor não pode ser null. Eventos de callback e listener são enviados com esse Executor, fornecendo uma maneira fácil de controlar qual linha de execução vai ser usada. Para enviar eventos pela linha de execução principal do aplicativo, use Context.getMainExecutor(). Caso contrário, forneça uma Executor que seja enviada para uma linha de execução adequada.

receiver OutcomeReceiver: este valor não pode ser null.