Rastreamento de rede

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 a implementação dos anúncios para dispositivos móveis do Google.

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 do Google Play Services. Isso não acontece com ferramentas de proxy devido a mudanças nas ACs 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 do desenvolvedor no seu dispositivo. Em seguida, abra o app Configurações do Google e selecione a opção Anúncios:

Supondo que você tenha ativado as opções do desenvolvedor e o recurso esteja disponível, a tela vai ficar assim:

Selecione a opção Ativar registro de depuração para anúncios para abrir a seguinte caixa de diálogo:

Toque em OK e um identificador de publicidade que termina com 10ca1ad1abe1 será exibido:

Agora você pode conferir toda a saída do registro de rede no logcat. Para filtrar apenas a saída de anúncios no nível de informações 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 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. Assim, é possível pesquisar ou filtrar essas strings. Para cada registro de rede, a primeira mensagem de registro é GMA Debug BEGIN, a última mensagem de registro é 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 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
  }
}