Rastreamento de rede

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
  }
}