Отслеживание сети

Выберите платформу: iOS Android (устаревшая версия)

Отслеживание сети позволяет видеть действия в сети, связанные с Google Mobile Ads SDK. Это может быть полезно при отладке реализации Google Mobile Ads.

В отличие от других инструментов, например Charles Proxy, отслеживание сети работает на всех устройствах Android и устройствах с поддерживаемой версией сервисов Google Play. В случае с прокси-серверами это не так из-за изменений в доверенных ЦС и сертификатах, действующих с Android 7.0.

В этом руководстве рассказывается, как включить отслеживание сети для отладки.

Enable tracing

Чтобы включить отслеживание сети, активируйте на устройстве режим разработчика. Затем запустите приложение Настройки Google и выберите Реклама:

Если у вас включены параметры разработчика и эта функция доступна, экран будет выглядеть так:

Выберите Включить ведение журнала отладки для объявлений, чтобы открыть следующее диалоговое окно:

Нажмите ОК. Вы увидите рекламный идентификатор, который заканчивается на 10ca1ad1abe1:

Теперь в logcat можно посмотреть все выходные данные из журнала сети. Чтобы отфильтровать только объявления уровня "Информация" и вывести их на экран и в файл, выполните следующую команду:

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

Результат

Для вывода журналов сети используются стандартные журналы консоли, подходящие для платформы.

Сообщения журнала консоли всегда начинаются со строки GMA Debug BEGIN, GMA Debug CONTENT или GMA Debug FINISH, поэтому вы можете выполнять поиск или фильтрацию по этим строкам. В каждом сетевом журнале первое сообщение в журнале – GMA Debug BEGIN, последнее – GMA Debug FINISH, а содержимое сетевого журнала начинается с GMA Debug CONTENT. Если контент не помещается в одну строку, он разбивается на несколько строк, каждая из которых начинается с символов GMA Debug CONTENT.

Пример выходных данных консоли

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

Пример вывода в формате JSON

Ниже приведены примеры вывода logcat в формате JSON.

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