Com a API AdMob, é possível criar, listar e atualizar grupos de mediação, incluindo:
- Especificar a segmentação por grupo de mediação, incluindo regiões, formato, plataforma e segmentação por IDFA
- Adicionar novas linhas de grupo de mediação a um grupo de mediação atual
- Ver quais grupos de mediação fazem parte de um experimento A/B de mediação e quais linhas de grupo de mediação pertencem a cada variante: A ou B
Exemplos
Com as credenciais do OAuth 2.0 criadas, você já pode começar a usar a API AdMob. Para solicitar acesso usando o OAuth 2.0, seu aplicativo também vai precisar das informações do escopo.
Confira as informações do escopo do OAuth 2.0:
| Escopo | Significado |
|---|---|
https://www.googleapis.com/auth/admob.monetization |
Ver, criar e editar suas configurações de monetização da AdMob. |
https://www.googleapis.com/auth/admob.readonly |
Confira todos os dados da AdMob. Isso pode incluir informações da conta, configurações de inventário e mediação, relatórios e outros dados. Dados confidenciais, como pagamentos ou detalhes da campanha, não serão incluídos. |
Criar
Para criar um grupo de mediação, especifique as informações de segmentação do grupo de mediação, incluindo os blocos de anúncios relevantes. O exemplo a seguir cria um novo grupo de mediação para anúncios intersticiais do Android em duas unidades de anúncio. Uma linha de grupo de mediação é adicionada na criação para a origem de anúncios da InMobi. Não é necessário incluir a rede da AdMob, porque ela é adicionada por padrão no momento da criação.
No snippet de código abaixo, substitua pub-XXXXXXXXXXXXXXXX pelo seu ID de
editor.
Em seguida, substitua YYYYYYYYYY pelos 10 últimos dígitos do seu ID do bloco de anúncios, seguindo o formato:
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY
Como há dois blocos de anúncios neste exemplo, YYYYY11111 se refere ao primeiro bloco e WWWWW11111 ao mapeamento do primeiro bloco. YYYYY22222 e WWWWW22222 se referem ao segundo bloco de anúncios e mapeamento de bloco de anúncios.
curl (linha de comando)
Substitua WWWWWWWWWW pelo ID do mapeamento de blocos de anúncios. O ID do mapeamento do bloco de anúncios
pode ser encontrado usando o
método
accounts.adUnits.adUnitMappings.list.
curl --http1.0 -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups
-H "Content-Type:application/json"
-H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)"
--data @- << EOF
{
"displayName": "Test Mediation Group"
"targeting": {
"platform": "ANDROID",
"format": "INTERSTITIAL"
"adUnitIds":["ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111", "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222"}
}
"mediationGroupLines": {
"-1": {
"displayName": "test line",
"adSourceId": "7681903010231960328",
"cpmMode": "MANUAL",
"cpmMicros": "150000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY11111/adUnitMappings/WWWWW11111",
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY22222/adUnitMappings/WWWWW22222"
}
}
}
Lista
Substitua pub-XXXXXXXXXXXXXXXX pelo seu ID de
publisher para ver os grupos de mediação.
curl (linha de comando)
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.monetization)"
Exemplo de resposta:
{ "mediationGroups": [ { "name": "accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ", "mediationGroupId": "ZZZZZZZZZZ", "displayName": "Test Mediation Group", "state": "ENABLED", "state": "NOT_RUNNING", "targeting": { "platform": "iOS", "format": "BANNER", "targetedRegionCodes": "[CA]", "adUnits": ["YYYYY11111", "YYYYY22222"] }, "mediationGroupLines": { "11111111111111111": { "id": "11111111111111111", "displayName": "AdMob Network", "adSourceId": "5450213213286189855", "cpmMode": "LIVE", "state": "ENABLED", "experimentVariant": "ORIGINAL" }, "22222222222222222": { "id": "22222222222222222", "displayName": "test line", "adSourceId": "7681903010231960328", "cpmMode": "MANUAL", "cpmMicros": "150000", "adUnitMappings": { "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY11111/adUnitMappings/WWWWW11111", "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY22222/adUnitMappings/WWWWW22222" }, "state": "ENABLED", "experimentVariant": "ORIGINAL" } }, }] }
Patch
Confira a lista de máscaras de campo para atualizar um grupo de mediação. As atualizações em campos repetidos, como itens em uma lista, substituem totalmente os valores atuais por novos. As atualizações de valores individuais em um mapa podem ser feitas indexando pela chave.
As seguintes máscaras de campo são compatíveis com atualizações de grupo de mediação:
targeting.adUnitIdsmediationGroupLines[mediationGroupLineId]mediationGroupLines[mediationGroupLineId].statemediationGroupLines[mediationGroupLineId].adUnitMappings[adUnitId]
Para atualizar um grupo de mediação com uma nova linha, use um número negativo
distinto para o mediationGroupLineId. Para atualizar as linhas de grupo de mediação atuais, consulte o ID da linha de grupo de mediação no update_mask e na carga útil, conforme mostrado abaixo.
"updateMask" {
paths: "mediation_group_lines["123"].ad_unit_mappings["456"]"
}
"mediationGroup" {
"mediationGroupLines": {
"123": {
"id": "123"
"adUnitMappings": {
"456": "newAdUnitMappingId"
}
}
}
}
curl (linha de comando)
O exemplo abaixo adiciona três novas linhas de mediação a um grupo de mediação existente.
O updateMask inclui as três linhas do grupo de mediação com valores negativos distintos como marcador de posição:
updateMask=mediationGroupLines["-1"],mediationGroupLines["-2"],mediationGroupLines["-3"]
É necessário converter caracteres especiais porque todos os URLs precisam estar em conformidade com a sintaxe especificada pela especificação do localizador uniforme de recursos (URI). Assim, updateMask se torna:
updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D
Para executar o exemplo a seguir, substitua pub-XXXXXXXXXXXXXXXX pelo ID do publisher e ZZZZZZZZZZ pelo ID do grupo de mediação. O ID do grupo de mediação pode ser encontrado na interface da AdMob ou usando o método accounts.mediationGroups:list.
Substitua YYYYYYYYYY pelos últimos 10 dígitos do seu ID do bloco de anúncios, seguindo o formato:
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY`
Substitua WWWWWWWWWW pelo ID do mapeamento de blocos de anúncios. O ID do mapeamento do bloco de anúncios
pode ser encontrado usando o
método
accounts.adUnits.adUnitMappings.list.
curl --http1.0 -X PATCH https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ?
updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D
-H "Content-Type:application/json"
-H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)"
--data @- << EOF
{
"mediationGroupLines": {
"-1": {
"displayName": "test line 2",
"adSourceId": "7681903010231960458",
"cpmMode": "MANUAL",
"cpmMicros": "150000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW"
}
},
"-2": {
"displayName": "test line 3",
"adSourceId": "7681903010231960328",
"cpmMode": "MANUAL",
"cpmMicros": "120000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW"
}
},
"-3": {
"displayName": "test line 4",
"adSourceId": "7681903010231960328",
"cpmMode": "MANUAL",
"cpmMicros": "130000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW"
}
}
}
}
EOF