A mediação é uma maneira comum de as plataformas de publicidade de venda oferecerem gerenciamento de receita. Em um fluxo de trabalho de mediação, o SDK de mediação ("mediador") invoca várias redes de publicidade ("mediado" ou "mediados") para receber o melhor anúncio para um determinado espaço. Em alguns casos, tanto o mediador quanto as redes de publicidade que ele invoca precisam que os SDKs estejam no dispositivo e interajam.
Este documento descreve as principais mudanças nos fluxos de trabalho de mediação no SDK Runtime. Ele abrange os seguintes tópicos:
- Diferenças entre os fluxos de mediação anteriores e o suporte atual à mediação do SDK Runtime
- Configurar ações para fluxos de trabalho de mediação no SDK Runtime e nas diferentes etapas de transição
- Orientações sobre como lidar com cenários em que nem todos os SDKs foram migrados para o Runtime
O suporte para anúncios mediados no SDK Runtime está disponível no AGP 8.5 e nas seguintes versões das bibliotecas do Jetpack do SDK Runtime:
| Biblioteca AndroidX | Versão |
|---|---|
| androidx.privacysandbox.activity | 1.0.0-alpha01 |
| androidx.privacysandbox.sdkruntime | 1.0.0-alpha13 |
| androidx.privacysandbox.tools | 1.0.0-alpha08 |
| androidx.privacysandbox.ui | 1.0.0-alpha09 |
Glossário
Os termos a seguir são essenciais para entender a mediação no SDK Runtime:
- SDK ativado pelo ambiente de execução (RE SDK): um SDK criado para ser executado no ambiente do SDK Runtime e se comunicar com o app por comunicação entre processos (IPC).
- SDK compatível com o ambiente de execução (RA SDK): um SDK não ativado no ambiente de execução, vinculado ao app de forma estática, que pode conter seu código de SDK atual e um novo código para fazer chamadas ao SDK ativado no ambiente de execução.
- SDK no app:um SDK que é executado vinculado ao app de forma estática e não tem conhecimento do SDK Runtime. Pode ser uma rede de publicidade que não fez a transição para o SDK Runtime ou um adaptador personalizado de um editor.
- Mediador:SDK de mediação de anúncios que fornece um serviço de mediação no dispositivo ao interagir com outros SDKs de rede de publicidade.
- Mediado:SDK de rede de publicidade chamado pelo mediador para fornecer e renderizar um anúncio.
- Adaptador de mediação:SDKs usados pelo SDK de mediação para fornecer tradução de interface de API e interoperar com vários SDKs de mediadores, geralmente fornecidos pelo mediador. Eles podem ser compatíveis ou não com o tempo de execução.
Fluxos típicos de mediação
Se o SDK precisar oferecer suporte a casos de uso de mediação no SDK Runtime, será necessário implementar algumas mudanças. Esta seção analisa os principais elementos dos fluxos de mediação para que possamos abordar as mudanças necessárias para mediadores e mediandos.
Os fluxos que descrevemos representam uma versão simplificada da mediação no dispositivo com vários SDKs de rede de publicidade e servem como base para a discussão sobre as mudanças necessárias para tornar as jornadas de mediação compatíveis com o SDK Runtime.
Devido à variação nas implementações de fluxo de mediação, vamos nos concentrar nos dois fluxos principais a seguir:
- Inicialização (incluindo descoberta de redes de publicidade e comunicação)
- Apresentação da interface do usuário (UI) de anúncios
Inicialização
O seguinte representa uma inicialização padrão, descoberta de rede de publicidade e fluxo de comunicação:
- O app cliente inicia o mediador
- O mediador descobre e inicializa os mediatees e adaptadores relevantes.
- O mediador usa os adaptadores para se comunicar com cada mediado.
- O app cliente pede ao mediador para carregar um anúncio.
- O app cliente pede ao mediador para mostrar esse anúncio
Apresentação da interface do anúncio
Quando se trata de renderizar o anúncio após a solicitação final na etapa anterior, o fluxo depende do tipo de anúncio:
| Anúncios de banner | Anúncios de tela cheia | Anúncios nativos |
|---|---|---|
| O SDK do mediador cria uma visualização de anúncio, que envolve a visualização de anúncio do mediador vencedor. Ele também pode definir listeners nessa visualização ou atualizar automaticamente o anúncio (usando o mesmo mediador ou um diferente). |
O SDK mediador solicita um anúncio em tela cheia do mediado, que por sua vez inicia uma atividade. | O editor gerencia o processamento e a inclusão de visualizações usando componentes retornados pelo SDK do mediador. |
Fluxos de mediação no SDK Runtime
O funcionamento da mediação no SDK Runtime varia de acordo com se o mediado está ativado pelo ambiente de execução ou não. Com base nisso, podemos ter os seguintes cenários:
- O mediador e o mediado estão no SDK Runtime: mediado ativado pelo ambiente de execução
- O mediador está no SDK Runtime, e o mediado está no app: Mediado no app
RE Mediatee
O diagrama de arquitetura a seguir mostra uma visão geral de alto nível da interação dos SDKs ativados pelo ambiente de execução (RE) e compatíveis com o ambiente de execução (RA) do mediador, dos adaptadores de mediação RE e dos SDKs RE dos mediadores.
Os adaptadores de mediação precisam estar no mesmo processo que o mediado com que estão interagindo. Portanto, eles também precisam migrar para o SDK Runtime.
Inicialização
Ao considerar a inicialização, a descoberta e a comunicação do mediador e do mediatee habilitados para tempo de execução, o fluxo vai seguir estas etapas:
- O app (ou o SDK de RA) carrega e inicializa o SDK do mediador usando
SdkSandboxManager#loadSdk. - Durante a inicialização, o SDK do mediador carrega e inicializa todos os
mediatees necessários no SDK Runtime usando
SdkSandboxController#loadSdk. - O SDK RE pode descobrir todos os SDKs carregados no ambiente de execução chamando
SdkSandboxController#getSandboxedSdks.
Apresentação da interface do anúncio
A seção a seguir aborda o carregamento de banners e anúncios em tela cheia de um mediador de RE.
Anúncios de banner da RE Mediatee
Quando o app solicita o carregamento de um anúncio de banner, o fluxo para concluir a renderização é o seguinte:
- O mediador seleciona o mediado vencedor para esse anúncio.
- O mediador recebe um
SandboxedUiAdapterdo mediado. - O mediador encaminha o UiAdapter para o app.
Saiba mais sobre o uso de SandboxedUiAdapter e a biblioteca de interface do SDK Runtime.
Sobreposições em anúncios de banner
Se os mediadores quiserem adicionar uma sobreposição ao anúncio, eles precisarão modificar o fluxo da seguinte maneira:
- O mediador cria um layout com a sobreposição e um
SandboxedSdkView. - O mediador seleciona o mediado vencedor para esse anúncio.
- O mediador recebe um
SandboxedUiAdapterdo mediado. - O mediador define o
UiAdapterdo mediado comoSandboxedSdkView. - O mediador compartilha a visualização preenchida com o app.
RE: anúncios de tela cheia da Mediatee
Quando o app solicita o carregamento de um anúncio em tela cheia, o fluxo segue estas etapas:
- O app (ou o SDK do RA) transmite um
SdkActivityLauncherao mediador com a solicitação para carregar um anúncio.- O cliente pode restringir a criação de atividades usando um predicado.
- O mediador seleciona o mediado vencedor para esse anúncio.
- O mediador pede que o mediado carregue um anúncio, transmitindo o
SdkActivityLauncherdo app. - O mediador registra um manipulador de atividades e recebe um token de identificador para a atividade registrada.
- O mediador usa o
SdkActivityLauncherpara solicitar o início de uma atividade usando esse token. - Se o predicado do app cliente permitir, o SDK Runtime vai iniciar essa atividade no processo dedicado.
Saiba mais sobre o suporte à atividade para anúncios em tela cheia no SDK Runtime.
Mediatee no app
O diagrama de arquitetura a seguir mostra uma visão geral de alto nível da interação dos SDKs RE e RA do mediador, dos adaptadores de mediação que não conhecem o SDK Runtime e dos SDKs dos mediatees vinculados estaticamente ao app (também sem reconhecimento do ambiente de execução).
Inicialização
Como nesse cenário os mediatees são vinculados de forma estática ao app e ainda não foram migrados para o SDK Runtime, o SDK ativado pelo ambiente de execução do mediador precisa ter um processo para registrá-los.
Esse registro precisa estar acessível usando a API do mediador, mas os detalhes da implementação ficam a critério de cada mediador. Chamamos essa API de
MediationSandboxedSdk#registerInAppMediatee.
Ao considerar a inicialização, a descoberta e a comunicação de um SDK mediador RE e SDKs mediados no app, o fluxo segue estas etapas:
- O app carrega e inicializa o SDK compatível com o tempo de execução do mediador.
- SDK de RA do mediador:
- Inicializa o SDK do RE do mediador usando
SdkSandboxManager#loadSdk. - Inicializa todos os SDKs de mediação no app.
- Descobre e registra os SDKs de mediadores no app usando a API fornecida
pelo SDK do RE,
MediationSandboxedSdk#registerInAppMediate.
- Inicializa o SDK do RE do mediador usando
Além de ter todos os SDKs de mediação no app registrados, o SDK RE do mediador
pode descobrir todos os SDKs carregados no SDK Runtime usando
SdkSandboxController#getSandboxedSdks.
Apresentação da interface do anúncio
A seção a seguir aborda o carregamento de banners e anúncios em tela cheia de um mediador no app.
Anúncios de banner de mediador no app
Quando o app solicita o carregamento de um anúncio de banner, o fluxo para concluir a renderização é o seguinte:
- O SDK compatível com o ambiente de execução do mediador encaminha a solicitação do app para o SDK ativado pelo ambiente de execução.
- O SDK de RE do mediador seleciona o mediado relevante.
- O SDK RE do mediador recupera a referência ao mediado e solicita o carregamento de um anúncio pelo SDK RA.
- O SDK do RA recebe uma visualização do mediador no app.
- O SDK de RA cria um
SandboxedUiAdapterpara a visualização recebida. - O SDK RA encaminha o
UiAdapterpara o SDK RE. - O SDK RE encaminha o
UiAdapterpara o app.
Anúncios de tela cheia mediados no app
Quando o app solicita o carregamento de um anúncio em tela cheia, o fluxo segue estas etapas:
- O app transmite um
SdkActivityLauncherao SDK de RA do mediador com a solicitação para carregar um anúncio.- O cliente pode restringir a criação de atividades usando um predicado.
- O SDK RA do mediador encaminha a solicitação do app para o SDK RE.
- SDK de RE do mediador:
- Seleciona o mediado relevante.
- Recupera a referência ao mediador no app.
- Solicitações para carregar um anúncio pelo SDK do RA.
- O SDK do RA pede que o mediador carregue um anúncio.
- O mediado inicia a atividade diretamente. O predicado do app não será respeitado.
Interagir e compartilhar feedback
O Sandbox de privacidade no Android é um projeto em andamento, e este documento reflete o design atual dele. Seu feedback é essencial para continuarmos desenvolvendo e aprimorando os recursos. Envie um bug para dar feedback.