O rastreamento de rede mostra as atividades da rede relacionadas ao SDK dos Anúncios para Dispositivos Móveis do Google. Isso pode ser útil para depurar sua implementação do Google Mobile Ads.
Um dos principais motivos para usar o rastreamento de rede em vez de ferramentas como o Charles Proxy é que ele funciona com todas as versões do Android e dispositivos que executam uma versão compatível dos Serviços do Google Play. Esse não é o caso das ferramentas de proxy devido a mudanças em CAs e certificados confiáveis em vigor desde o Android 7.0.
Este guia explica como ativar o rastreamento de rede para fins de depuração.
Ativar rastreamento
Para ativar o rastreamento de rede, ative as opções de desenvolvedor no dispositivo. Em seguida, inicie o app Configurações do Google e selecione a opção Anúncios:
Supondo que você tenha ativado as opções do desenvolvedor e que o recurso esteja disponível, sua tela ficaria assim:
Selecione a opção Ativar registro de depuração para anúncios para abrir a seguinte caixa de diálogo:
Toque em OK. Em seguida, um identificador de publicidade que termina com 10ca1ad1abe1
vai aparecer:
Agora é possível ver toda a saída do registro de rede no logcat. Para filtrar apenas a saída de anúncios no nível de informação para a tela e um arquivo, execute o seguinte comando:
adb logcat '*:S' Ads:I Ads-cont:I | tee logs.txt
Saída
Os registros de console padrão adequados à plataforma são usados para gerar os registros de rede.
As mensagens de registro do console sempre começam com a string GMA Debug BEGIN
,
GMA Debug CONTENT
ou GMA Debug FINISH
. Portanto, é possível pesquisar ou filtrar essas
strings. Para cada registro de rede, a primeira mensagem é GMA Debug BEGIN
, a última é GMA Debug FINISH
e o conteúdo começa com GMA Debug CONTENT
. Se o conteúdo for muito longo para caber em uma linha, ele será dividido
em várias linhas, cada uma começando com GMA Debug CONTENT
.
Exemplo de saída do console
I/Ads ( 4660): GMA Debug BEGIN
I/Ads ( 4660): GMA Debug CONTENT {"timestamp":1510679993741,...}
I/Ads ( 4660): GMA Debug FINISH
Exemplo de saída JSON
Confira alguns exemplos de saída JSON do logcat:
onNetworkRequest
{
"timestamp": 1510679994904,
"event": "onNetworkRequest",
"components": [
"ad_request_cf5ab185-3c3f-4f01-9f56-33da2ae110f2",
"network_request_6553bc32-1d44-4f18-9dd0-5c183abbeb90"
],
"params": {
"firstline": {
"uri": "http://googleads.g.doubleclick.net/pagead/ads?carrier=....",
"verb": "GET"
},
"headers": [
{
"name": "User-Agent",
"value": "Mozilla/5.0 (Linux; Android 5.0.2;..."
}
]
}
}
onNetworkResponse
{
"timestamp": 1510679995295,
"event": "onNetworkResponse",
"components": [
"ad_request_cf5ab185-3c3f-4f01-9f56-33da2ae110f2",
"network_request_6553bc32-1d44-4f18-9dd0-5c183abbeb90"
],
"params": {
"firstline": {
"code": 200
},
"headers": [
{
"name": null,
"value": "HTTP/1.1 200 OK"
},
{
"name": "X-Google-DOS-Service-Trace",
"value": "main:pagead"
},
{
"name": "Content-Type",
"value": "text/html; charset=UTF-8"
},
...
]
}
}
onNetworkResponseBody
{
"timestamp": 1510679995375,
"event": "onNetworkResponseBody",
"components": [
"ad_request_cf5ab185-3c3f-4f01-9f56-33da2ae110f2",
"network_request_6553bc32-1d44-4f18-9dd0-5c183abbeb90"
],
"params": {
"bodydigest": "B2520049D02F3C70A12AD1BC0D1B58A4",
"bodylength": 122395
}
}