As versões da prévia para desenvolvedores do Sandbox de privacidade do Android têm como objetivo ajudar com o desenvolvimento, testes e feedback. As prévias para desenvolvedores do Sandbox de privacidade do Android ainda estão em desenvolvimento. Por isso, os recursos nem sempre funcionam como esperado. A prévia para desenvolvedores do Sandbox de privacidade está sujeita a mudanças. Envie seu feedback.
Para começar, configure seu ambiente de desenvolvimento e atualize o Sandbox de privacidade do Android no seu dispositivo de teste ou emulador.
Versão atual
Sandbox de privacidade na prévia para desenvolvedores 6 do Android
O Sandbox de privacidade na prévia para desenvolvedores 6 do Android inclui melhorias nestas áreas:
Geral
- Em preparação para o lançamento de produção, a prévia para desenvolvedores 6 introduziu uma flag para desativar o acesso à API de preservação de privacidade por padrão. Para fins de teste, ative o acesso à API de preservação de privacidade na prévia para desenvolvedores executando este comando:
adb shell device_config put adservices global_kill_switch false
- As APIs
AdIdManager
eAppSetIdManager
exigem o Google Play Services versão 22.36.16 ou mais recente.- Em um dispositivo Android, verifique se a versão correta está listada em Configurações > Apps > Google Play Services.
- Se você precisar atualizar o Google Play Services para a versão correta, faça login no dispositivo de teste ou emulador do Android com uma Conta do Google. Depois, acesse Google Play Store > ícone de perfil > Configurações > Sobre. No título Versão da Play Store, toque em Atualizar Play Store.
- Essa etapa é aplicável apenas para desenvolvimento e testes e não será necessária depois que o Sandbox de privacidade for lançado para usuários públicos.
API Topics
- Foi adicionada uma API Preview para alternar se
getTopics
pode ou não ser registrado como um observador. - Pequenas mudanças no código de inicialização da classe
GetTopicsRequest
. - Lançamento do guia de integração de temas.
FLEDGE na API Android
- Se você estiver testando com servidores reais, a ativação da API agora será aplicada. Siga estas etapas para configurar seu dispositivo. Estas etapas não serão necessárias se você estiver usando as substituições remotas presentes no app de exemplo.
- Mudanças interruptivas:
- O
Url
foi substituído nos parâmetros porUri
. Isso se aplica a todas as APIs do FLEDGE e ao JavaScript personalizado para lances e lógica de pontuação. - Remoção do campo
owner
das entradas da API Custom Audience.
- O
- Públicos-alvo personalizados incompletos agora são imediatamente qualificados para a atualização em segundo plano.
- O limite de memória JavaScript agora está definido como 10 MB. Isso se aplica à lógica de lances e pontuações.
API Attribution Reporting
- As adtechs precisam se inscrever para poder usar a API Attribution Reporting na prévia para desenvolvedores 6. Consulte Registrar uma conta do Sandbox de privacidade para mais informações.
- Esta versão introduz chaves de depuração, que vão permitir aos desenvolvedores receber relatórios inalterados com os relatórios aprimorados de privacidade da API Attribution Reporting. As chaves de depuração oferecem a chance de ganhar mais visibilidade sobre a estrutura dos relatórios durante a transição com o Sandbox de privacidade.
Versões anteriores
Prévia para desenvolvedores 5
Geral
- Antes de acessar as APIs do Sandbox de privacidade na prévia para desenvolvedores 5,
primeiro você precisa ativar as APIs e configurar permissões específicas da API.
- Os designs do Sandbox de privacidade do Android permitem que os usuários controlem se as APIs que preservam a privacidade e o SDK Runtime estão ativos no dispositivo. Essas configurações são definidas como desativadas por padrão na prévia para desenvolvedores 5. É possível ativar o acesso à API usando um comando adb.
- O app autor da chamada precisa especificar permissões específicas da API no manifesto e
as configurações do
AdServices
relacionadas que controlam o acesso dos SDKs incorporados.
- Os apps precisam chamar as APIs de preservação de privacidade ao serem executadas em primeiro plano.
AdIdManager
eAppSetIdManager
não estão em operação no momento. Eles serão ativados em uma próxima. versão
SDK Runtime
- O uso de
sendData()
será descontinuado em uma versão futura. - O
loadSdk()
agora retorna um objeto IBinder para facilitar a comunicação bidirecional entre o SDK ativado pelo ambiente de execução e os apps definidos em AIDL. - Os apps têm acesso a outros eventos de ciclo de vida do SDK ativados pelo ambiente de execução, como quando o processo do SDK é encerrado.
API Attribution Reporting
Esta versão introduz outros recursos na API Attribution Reporting, incluindo:
- Suporte a relatório de agregação criptografado.
- Suporte a medição na Web e em apps diferentes.
- Cabeçalhos consolidados nas respostas de registro de origem e acionador:
- Origem:
Attribution-Reporting-Register-Aggregatable-Source
agora faz parte deAttribution-Reporting-Register-Source
- Acionador: consolidamos
Attribution-Reporting-Register-Event-Trigger, Attribution-Reporting-Register-Aggregatable-Trigger-Data
eAttribution-Reporting-Register-Aggregatable-Values
em um único cabeçalho chamadoAttribution-Reporting-Register-Event-Trigger
Attribution-Reporting-Redirects
ainda é um cabeçalho separado
- Origem:
FLEDGE na API Android
Esta versão inclui vários novos recursos e melhorias, bem como alterações interruptivas:
- Alterações interruptivas:
runAdSelection()
foi renomeado comoselectAds()
.- Substituímos o parâmetro de
AdSelectionConfig.Builder.setAdSelectionSignals()
porAdSelectionSignals
, que representa um objeto JSON. - O uso de
String
foi substituído para representar um comprador/vendedor de adtechs pelo objetoAdTechIdentifier
. - As classes
TestCustomAudienceManager
eTestAdSelectionManager
foram adicionadas para substituir a busca remota de JavaScript. - É necessário que o proprietário de um público-alvo personalizado seja o nome do pacote do app autor da chamada.
- As APIs FLEDGE agora validam o app autor da chamada em relação a um conjunto de restrições e
limitações descrito no guia do desenvolvedor. Veja alguns exemplos
importantes abaixo.
selectAds
ereportImpression
agora têm limites de tempo de execução. Após esse período, a chamada será encerrada.selectAds
ereportImpression
agora têm um limite de memória consumida durante a execução do JavaScript. As APIs vão gerar um erro se o consumo de memória exceder os limites configurados.selectAds
ereportImpression
agora validam o objetoAdSelectionConfig
para garantir que os campos sejam sintaticamente válidos e que os URLs estejam no eTLD+1 usado no campo do vendedor.AdServices
agora valida públicos-alvo personalizados no momento da criação. Algumas dessas validações incluem garantir que o prazo de validade seja válido e aplicam um limite ao número de públicos-alvo personalizados que um app pode criar e ao tamanho total dos anúncios fornecidos na chamadajoinCustomAudience
. A validação também impõe que os URIs fornecidos para indicadores e a recuperação da lógica de lances, além da busca em segundo plano, estejam todos no domínio do comprador.
- Os metadados de público-alvo personalizados são atualizados diariamente por um processo de busca em segundo plano.
- Os públicos-alvo personalizados são removidos quando o app "proprietário" é desinstalado.
- Adição de suporte para especificar indicadores de pontuação confiáveis e dados de lances confiáveis durante a seleção de anúncios. Veja um exemplo de código para o formato de resposta.
- As APIs do FLEDGE para Android dependem da versão 105.0.5195.58 ou mais recente do WebView. Consulte as informações de configuração no guia do desenvolvedor para mais detalhes.
Problemas conhecidos:
No momento, ao participar de um público-alvo personalizado, a plataforma não realiza atualizações em segundo plano imediatamente, se algum dos metadados ou valores de
AdData
estiverem vazios ou foremnull
. O público-alvo personalizado não estará qualificado para seleções de anúncios até que ele seja atualizado um dia depois. Em uma versão futura, os públicos-alvo personalizados incompletos serão imediatamente qualificados para atualizações de busca em segundo plano. O limite de memória padrão atual para a execução do JavaScript é muito baixo e pode fazer com que as cargas de trabalho normais falhem com o JavaScriptEngine em dispositivos. A execução do JavaScript pode encerrar inesperadamente com a mensagem de erro"Fatal javascript OOM in CALL_AND_RETRY_LAST"
.Você pode resolver isso manualmente configurando o limite de memória adequado com o seguinte comando:
adb shell "device_config put adservices fledge_js_isolate_enforce_max_heap_size 10485760"
Os anúncios personalizados de público-alvo que não correspondem à estrutura JSON necessária são atualizados durante a busca em segundo plano.
API Topics
- Atualizamos a taxonomia de apps para dispositivos móveis.
- Atualizamos a proposta de design e os apps de exemplo (link em inglês) com o lançamento da IU de configurações para conferir os temas atribuídos.
Atualizações de ferramentas
O Android Studio Canary oferece suporte à criação de APKs do SDK com um novo tipo de módulo. O Guia para desenvolvedores do SDK Runtime foi atualizado, e os apps de exemplo do Sandbox de privacidade no GitHub (link em inglês) refletem essa atualização.
Prévia para desenvolvedores 4
Data de lançamento: 14 de julho de 2022
O Sandbox de privacidade na prévia para desenvolvedores 4 do Android inclui melhorias às seguintes áreas:
SDK Runtime
- Os apps agora podem se comunicar com os SDKs ativados no momento da execução (RE-SDKs, na sigla em inglês) pela
adição da
sendData()
. - O armazenamento local agora está disponível no processo do SDK Runtime.
- Um SDK também pode renderizar anúncios ou conteúdos em vídeo independentes no SDK Runtime.
- Adicionamos esclarecimentos sobre a reflexão para incluir a capacidade de usá-la, desde que o conteúdo não esteja em outro RE-SDK.
API Attribution Reporting
Esta versão introduz mudanças para melhorar a clareza sobre o uso da API Attribution Reporting, como:
- Mudanças no formato de relatórios agregados para melhorar a legibilidade.
- Atualização nos campos de cabeçalho dos recursos de lance e filtro de conversão.
- Incluímos esclarecimentos na referência da API WebApp para explicar o registro de origem e acionamento, bem como a disponibilidade da API de privacidade e consentimento.
FLEDGE na API Android
Esta versão inclui novos recursos para ajudar nos testes e na capacidade de depuração, além de melhorias internas:
- Inclusão de suporte à substituição de URLs remotos para recuperar lógica do JavaScript durante o desenvolvimento.
- Relatórios de erros aprimorados durante a seleção de anúncios.
- Os públicos-alvo personalizados inativos agora são filtrados durante a seleção de anúncios.
API Topics
Esta versão inclui várias mudanças importantes na API Topics, principalmente:
- O tipo de retorno da API
getTopics()
foi mudado para o novo tipo de objetoTopic
, que encapsula IDs de números inteiros que correspondem a temas na taxonomia, informações sobre o classificador e as versões da taxonomia. Atualize os apps existentes que usam essa API. - A API Topics agora requer uma nova permissão normal.
- O sistema "Classificador no dispositivo" foi introduzido para atribuir temas dinamicamente com base nas informações do app disponíveis publicamente.
Problemas conhecidos
A versão inicial dessas imagens de dispositivos (revisão 6) não é carregada no Android Emulator versão 31.2.10. As imagens de dispositivos atualizadas para resolver o problema foram disponibilizadas em 27 de julho de 2022.
Prévia para desenvolvedores 3
Data de lançamento: 9 de junho de 2022
O Sandbox de privacidade na prévia para desenvolvedores 3 do Android adiciona funcionalidades à API Attribution Reporting e ao FLEDGE no Android.
API Attribution Reporting
A API Attribution Reporting melhora a privacidade do usuário ao remover a dependência de identificadores do usuário entre diferentes partes, e também oferece suporte aos principais casos de uso para avaliação de métricas de conversão e atribuição em apps.
Esta versão inclui recursos para desenvolvedores e ajuda você a testar os recursos da API Attribution Reporting abaixo:
- Registro de fonte de atribuição e acionamento de eventos.
- Uso de atribuição com prioridade de fonte e pós-instalação.
- Recebimento de relatórios de eventos.
- Recebimento de relatórios agregáveis, que não são criptografados nesta versão.
Fornecemos um app de exemplo e um servidor de adtechs de referência para ajudar nos testes.
Problemas conhecidos:
- A API Attribution Reporting ainda não criptografa relatórios agregados de acordo com a proposta de design. Para fins de teste, payloads de relatórios vão ser enviados em texto não criptografado até que a criptografia seja implementada.
FLEDGE no Android
O FLEDGE no Android apresenta uma nova maneira de mostrar anúncios com base em públicos-alvo personalizados definidos pelos desenvolvedores de apps com base nas interações no app. Essa solução armazena as informações e os anúncios associados localmente e fornece um framework para organizar os fluxos de trabalho de seleção de anúncios.
Esta versão inclui recursos para desenvolvedores e ajuda você a testar estes recursos do FLEDGE no Android:
- Participação ou saída de um público-alvo personalizado e observação de como os valores de parâmetro podem afetar os resultados do leilão.
- Busca do código JavaScript de leilões em endpoints remotos.
- Configuração e início de leilões de anúncios no dispositivo.
- Processamento de relatórios de impressão.
- Fornecimento de um app de exemplo e uma configuração de servidor simulada para ajudar nos testes.
Problemas conhecidos:
- Um público-alvo personalizado pode participar da seleção de anúncios antes do "momento de ativação".
Prévia para desenvolvedores 2
Data de lançamento: 17 de maio de 2022
A prévia para desenvolvedores 2 inclui as primeiras visualizações das
APIs de relatórios de atribuição do MeasurementManager
.
- Você pode chamar
registerSource()
eregisterTrigger()
para registrar eventos de anúncio do app e receber dados do relatório no nível do evento para a atribuição de app para app. A implementação atual usa a atribuição de último toque. Os relatórios são programados para serem enviados conforme definido pelas janelas de geração de relatórios. Consulte a referência da APIMeasurementManager
para mais informações. O upload do relatório ocorre ao final de intervalos de tempo fixos, e não no horário exato programado. O intervalo de upload de relatórios é de quatro horas por padrão, mas ele pode ser substituído por este comando do adb:
adb shell device_config put adservices measurement_main_reporting_job_period_ms <duration in milliseconds>
Um app de exemplo e um servidor de adtechs de referência para testar APIs vão ser publicados em uma versão futura.
Outros recursos da API Attribution Reporting da classe
MeasurementManager
, como relatórios agregados, atribuição pós-instalação e redirecionamentos, vão estar disponíveis em uma versão futura.
Prévia para desenvolvedores 1
Data de lançamento: 28 de abril de 2022
A prévia para desenvolvedores 1 inclui pré-lançamentos da API Topics e do SDK Runtime. A funcionalidade para FLEDGE no Android e APIs Attribution Reporting vai ser disponibilizada em uma versão futura.
- API Topics
- No momento, a API
getTopics()
retorna valores de teste com base em classificação off-line para um conjunto limitado de apps. As classificações no dispositivo ainda não foram implementadas. - Você pode usar comandos adb para substituir intervalos e forçar a contabilização da época.
- Leia o guia para desenvolvedores da Topics para ver mais detalhes.
- No momento, a API
- SDK Runtime
- É possível empacotar e criar SDKs ativados pelo ambiente de execução (SDKs RE) usando o novo
elemento
<sdk-library>
no arquivo de manifesto do app do SDK. Instale os SDKs RE em um dispositivo ou emulador de teste com suporte, da mesma forma que você instalaria um app durante o desenvolvimento. - É possível integrar um app com SDKs RE, carregá-los no ambiente de execução do SDK e testar o impacto do acesso restrito no código do SDK: permissões, memória e comunicações entre app e SDK. As APIs Storage para SDKs RE ainda não foram implementadas e vão ser disponibilizadas em uma versão futura.
- Um SDK pode renderizar anúncios de banner ou de conteúdo baseados em
WebView
no ambiente de execução do SDK. - Veja mais informações no guia para desenvolvedores do ambiente de execução do SDK.
- É possível empacotar e criar SDKs ativados pelo ambiente de execução (SDKs RE) usando o novo
elemento
- Verificações de lint para Android
- As verificações de lint do Android podem mostrar avisos incorretamente em projetos compilados
com o nível da API
TiramisuPrivacySandbox
. Por exemplo, você pode encontrar a mensagem de aviso "A chamada requer o nível 33 da API". Esse problema pode ser resolvido temporariamente usando a anotação@SuppressLint("NewApi")
.
- As verificações de lint do Android podem mostrar avisos incorretamente em projetos compilados
com o nível da API