Трассировка сети позволяет отслеживать сетевую активность, связанную с Google Mobile Ads SDK. Это может быть полезно для отладки вашей реализации Google Mobile Ads.
Основная причина использовать трассировку сети вместо таких инструментов, как Charles Proxy, заключается в том, что она работает со всеми версиями Android и устройствами с поддерживаемой версией сервисов Google Play. С инструментами проксирования ситуация иная из-за изменений в доверенных центрах сертификации и сертификатах, произошедших после выхода Android 7.0 .
В этом руководстве объясняется, как включить трассировку сети для отладки.
Включить трассировку
Чтобы включить трассировку сети, включите режим разработчика на вашем устройстве. Затем запустите приложение «Настройки Google» и выберите пункт « Реклама» .
Если у вас включены параметры разработчика и эта функция доступна, ваш экран будет выглядеть следующим образом:
Выберите параметр Включить ведение журнала отладки для рекламы, чтобы открыть следующее диалоговое окно:
Нажмите «ОК» , и вам будет представлен рекламный идентификатор, который заканчивается на 10ca1ad1abe1
:
Теперь вы можете просматривать все выходные данные сетевого журнала в LogCat. Чтобы отфильтровать только информационные сообщения Ads, выводимые на экран и в файл, выполните следующую команду:
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
Вот несколько примеров JSON-вывода от 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
}
}