Com o rastreamento de rede, você pode conferir as atividades da rede relacionadas ao SDK dos anúncios para dispositivos móveis do Google. Isso pode ser útil na depuração da sua implementação de anúncios para dispositivos móveis do Google.
Um motivo importante 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 com uma versão com suporte do Google Play Services. Isso não acontece com ferramentas de proxy devido a mudanças nas ACs e certificados confiáveis implementados desde o Android 7.0.
Este guia explica como ativar o rastreamento de rede para depuração.
Ativar rastreamento
Para ativar o rastreamento de rede, ative as opções do desenvolvedor do seu dispositivo. Em seguida, abra o app Configurações do Google e selecione a opção Anúncios:
Se as opções do desenvolvedor estiverem ativadas e o recurso estiver disponível, a tela vai ficar assim:
Selecione a opção Ativar os registros de depuração para anúncios para abrir a seguinte caixa de diálogo:
Toque em OK para ver um identificador de publicidade que termina com 10ca1ad1abe1
:
Agora é possível conferir toda a saída da geração de registros de rede no logcat. Para filtrar apenas a saída de anúncios em nível de informação para a tela e um arquivo, emita o seguinte comando:
adb logcat '*:S' Ads:I Ads-cont:I | tee logs.txt
Saída
Os registros padrão adequados à plataforma do console 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, você pode pesquisar ou filtrar essas
strings. Para cada registro de rede, a primeira mensagem de registro é GMA Debug BEGIN
,
a última é GMA Debug FINISH
e o conteúdo do registro de rede começa
com GMA Debug CONTENT
. Se o conteúdo for muito longo para caber em uma linha, ele será dividido
entre 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
Veja 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
}
}