Rastreamento de rede

O rastreamento de rede permite ver atividades de rede relacionadas ao serviço do SDK de anúncios 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 Charles Proxy é que ele funciona com todas as versões do Android e dispositivos com uma versão compatível do Google Play Services. Isso não é o caso das ferramentas de proxy devido a alterações na ACs e certificados confiáveis em vigor desde o Android 7.0.

Neste guia, explicamos como ativar o rastreamento de rede para fins de depuração.

Ativar rastreamento

Para ativar o rastreamento de rede, ative os recursos de desenvolvedor opções para seu dispositivo. Em seguida, abra o aplicativo Configurações do Google e selecione a opção Anúncios:

Supondo que as opções do desenvolvedor estejam ativadas e o recurso estiver disponível, seu ficaria assim:

Selecione a opção Ativar a geração de registros de depuração para anúncios para que a caixa de diálogo a seguir seja exibida:

Toque em OK. Um identificador de publicidade que termina em com 10ca1ad1abe1:

Agora você pode conferir todas as saídas do registro de rede no logcat. Para filtrar somente a saída de anúncios no nível da informação para a tela e um arquivo, problema o seguinte comando:

adb logcat '*:S' Ads:I Ads-cont:I | tee logs.txt

Saída

Os registros padrão do console 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, para que você possa pesquisar ou filtrar por esses as strings. Para cada registro de rede, a primeira mensagem é 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 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

Aqui estão 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
  }
}