Seguimiento de red

El seguimiento de red te permite ver las actividades de red relacionadas con el SDK de Google Mobile Ads. Esto puede ser útil para depurar tu implementación de Google Mobile Ads.

Un motivo clave para usar el registro de red en lugar de herramientas como Charles Proxy es que funciona con todas las versiones de Android y los dispositivos que ejecutan una versión compatible de los Servicios de Google Play. Este no es el caso de las herramientas de proxy debido a los cambios en las AC y los certificados de confianza vigentes desde Android 7.0.

En esta guía, se explica cómo habilitar el registro de seguimiento de red para fines de depuración.

Habilita el seguimiento

Para habilitar el registro de red, habilita las opciones para desarrolladores en tu dispositivo. Luego, inicia la app de Configuración de Google y selecciona la opción Anuncios:

Suponiendo que tienes habilitadas las opciones para desarrolladores y la función está disponible, tu pantalla se verá de la siguiente manera:

Selecciona la opción Habilitar el registro de depuración para anuncios para que aparezca el siguiente diálogo:

Presiona Aceptar y, luego, verás un identificador de publicidad que termina con 10ca1ad1abe1:

Ahora puedes ver todo el resultado del registro de red en logcat. Para filtrar solo la salida de los anuncios a nivel de información tanto en la pantalla como en un archivo, emite el siguiente comando:

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

Salida

Se usan registros de consola estándar adecuados para la plataforma para generar los registros de red.

Los mensajes de registro de la consola siempre comienzan con la cadena GMA Debug BEGIN, GMA Debug CONTENT o GMA Debug FINISH, por lo que puedes buscar o filtrar estas cadenas. Para cada registro de red, el primer mensaje de registro es GMA Debug BEGIN, el último es GMA Debug FINISH y el contenido del registro de red comienza con GMA Debug CONTENT. Si el contenido es demasiado largo para caber en una sola línea, se divide en varias líneas, cada una de las cuales comienza con GMA Debug CONTENT.

Ejemplo de resultado de la consola

I/Ads     ( 4660): GMA Debug BEGIN
I/Ads     ( 4660): GMA Debug CONTENT {"timestamp":1510679993741,...}
I/Ads     ( 4660): GMA Debug FINISH

Ejemplo de salida JSON

Estos son algunos ejemplos de resultados JSON de 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
  }
}