A API AdMob pode criar experimentos A/B de mediação para maximizar seus anúncios o desempenho do aplicativo testando várias configurações. Com um teste A/B, você pode avaliar duas variações de um grupo de mediação para comparar os resultados lado a lado e selecione uma configuração preferida.
Confira alguns exemplos de experimentos que você pode configurar:
- Adicione ou remova origens de anúncios para ver o impacto no seu grupo de mediação.
- Usar uma ordem de hierarquia diferente alterando o valor de eCPM manual do anúncio fontes
- Ativar ou desativar a otimização nas origens de anúncios em hierarquia
- Alterar o número de vezes que uma origem de anúncios é chamada
Exemplos
Comece com um grupo de mediação atual e crie uma variação dele para ver qual variante, A ou B, tem melhor desempenho. O teste divide os usuários do seu app entre a configuração do grupo de mediação existente e a variação, com base em uma porcentagem (1%, 10% ou 50%) que você fornecer.
curl (linha de comando)
Solicitações usando curl
Carregue o arquivo de chaves secretas do cliente e gere a autorização credenciais.
Na primeira vez que você realizar essa etapa, será solicitado que você aceite uma prompt de autorização do navegador. Antes de aceitar, confirme se fez login com uma Conta do Google que tem acesso à API AdMob. Seu aplicativo será autorizado a acessar dados em nome de qualquer conta está conectado no momento.
Para autenticação e autorização, recomendamos usar oauth2l, uma ferramenta de linha de comando simples para que funcionam com o Google OAuth 2.0. Instale o oauth2l e execute o comando abaixo. substituindo path_to_credentials_json por um caminho arquivo
credentials.json
baixado ao registrar sua nuvem app. Na primeira execução, o comando mostra as etapas do OAuth 2.0. fluxo de autorização. As execuções subsequentes atualizam o token automaticamente.oauth2l header --json path_to_credentials_json --scope admob.monetization,admob.readonly
Crie um experimento A/B de mediação.
Substitua
pub-XXXXXXXXXXXXXXXX
por seu editor ID eZZZZZZZZZZ
pela sua ID do grupo de mediação. O ID do grupo de mediação fica na interface da AdMob ou usando oaccounts.mediationGroups:list
.Você precisa especificar
treatmentMediationLines
etreatmentTrafficPercentage
, No entanto, acontrolMediationLines
são herdadas do grupo de mediação principal e não precisam ser especificado.A solicitação a seguir cria um experimento A/B de mediação em que o variante de tratamento, também conhecida como variante B, contém uma única mediação linha para a rede AdMob usando Modo
LIVE
.curl --http1.0 \ -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments \ -H "Content-Type:application/json" \ -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)" \ --data @- << EOF { "displayName":"Mediation A/B Experiment Test Name", "treatmentTrafficPercentage": "50", "treatmentMediationLines": [{ "mediationGroupLine": { "displayName": "Test mediation group line", "adSourceId": "5450213213286189855", "cpm_mode": "LIVE" } }] } EOF
Confira o exemplo de resposta abaixo, em que
SSSSSSSSSSSSSSSSSSSSSS
representa o ID do experimento A/B de mediação criado, eYYYYYYYYYY
representa o últimos 10 dígitos do seu bloco de anúncios ID, em conformidade com o formato:ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY
.{ "name": "accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments/SSSSSSSSSSSSSSSSSSSSSS", "displayName": "Mediation A/B Experiment Test Name", "experimentId": "SSSSSSSSSSSSSSSSSSSSSS", "treatmentTrafficPercentage": "50", "treatmentMediationLines": [ { "mediationGroupLine": { "id": "11111111111111111", "displayName": "Test mediation group line", "adSourceId": "5450213213286189855", "cpmMode": "LIVE", "cpmMicros": "10000", "adUnitMappings": { "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/ "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/ }, "state": "ENABLED" } } ], "controlMediationLines": [ { "mediationGroupLine": { "id": "22222222222222222", "displayName": "AdMob Network (control)", "adSourceId": "5450213213286189855", "cpmMode": "LIVE", "cpmMicros": "10000", "adUnitMappings": { "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/ "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/ }, "state": "ENABLED" } } ], "state": "RUNNING" }
Verifique se o experimento A/B de mediação está em execução.
Ligação
accounts.mediationGroups:list
para conferir o status do experimento A/B de mediação desse grupo. Consulte os grupos de mediação guia para saber mais detalhes.A
mediationAbExperimentState
foi definido comoRUNNING
para experimentos A/B de mediação ativos eNOT_RUNNING
se não houver um experimento em execução no grupo de mediação.Exemplo de solicitação:
curl --http1.0 \ -X GET https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups \ -H "$(oauth2l header --json path_to_credentials_json --scope admob.readonly)"
Interrompa o experimento A/B de mediação e selecione uma variante.
Substitua
pub-XXXXXXXXXXXXXXXX
por seu editor ID eZZZZZZZZZZ
pela sua ID do grupo de mediação. O ID do grupo de mediação fica na interface da AdMob ou usando oaccounts.mediationGroups:list
.Para concluir o experimento, especifique a variante vencedora na solicitação:
VARIANT_CHOICE_A
: use as linhas de mediação da variante A e conclua o experimento. A variante A contém as linhas de veiculação originais antes da a criação do experimento.VARIANT_CHOICE_B
: use as linhas de mediação da variante B e preencha o experimento. A variante B contém as linhas de veiculação recém-adicionadas.
Exemplo de solicitação:
curl --http1.0 \ -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments:stop \ -H "Content-Type:application/json" \ -H "$(oauth2l header --json
path_to_credentials_json
--scope admob.monetization)" \ --data @- << EOF { "variantChoice": "VARIANT_CHOICE_A" }Exemplo de resposta:
{ "experimentId": "SSSSSSSSSSSSSSSSSSSSSS", "state": "EXPIRED", }