ردیابی شبکه به شما امکان میدهد فعالیتهای شبکه مربوط به SDK تبلیغات موبایلی گوگل را مشاهده کنید. این میتواند در اشکالزدایی پیادهسازی تبلیغات موبایلی گوگل شما مفید باشد.
یک دلیل کلیدی برای استفاده از ردیابی شبکه به جای ابزارهایی مانند Charles Proxy این است که با تمام نسخههای اندروید و دستگاههایی که نسخه پشتیبانیشدهای از سرویسهای Google Play را اجرا میکنند، کار میکند. این مورد در مورد ابزارهای پروکسی به دلیل تغییرات در CAها و گواهینامههای معتبر از اندروید ۷.۰ صدق نمیکند.
این راهنما نحوه فعال کردن ردیابی شبکه برای اهداف اشکالزدایی را توضیح میدهد.
فعال کردن ردیابی
برای فعال کردن ردیابی شبکه، گزینههای توسعهدهنده را برای دستگاه خود فعال کنید . سپس، برنامه تنظیمات گوگل را اجرا کنید و گزینه تبلیغات (Ads) را انتخاب کنید:

با فرض اینکه گزینههای توسعهدهنده را فعال کردهاید و این ویژگی در دسترس است، صفحه شما به این شکل خواهد بود:

گزینه فعال کردن ثبت اشکالزدایی برای تبلیغات را انتخاب کنید تا کادر محاورهای زیر نمایش داده شود:

روی تأیید ضربه بزنید و سپس یک شناسه تبلیغاتی که با 10ca1ad1abe1 به پایان میرسد، نمایش داده میشود:

اکنون میتوانید تمام خروجیهای ورود به سیستم شبکه را در logcat مشاهده کنید. برای فیلتر کردن فقط خروجی تبلیغات سطح اطلاعات به صفحه نمایش و یک فایل، دستور زیر را اجرا کنید:
adb logcat '*:S' Ads:I Ads-cont:I | tee logs.txtخروجی
از لاگهای کنسول استاندارد متناسب با پلتفرم، برای خروجی گرفتن از لاگهای شبکه استفاده میشود.
Console log messages always begin with the string GMA Debug BEGIN , GMA Debug CONTENT , or GMA Debug FINISH , so you can search or filter on these strings. For each network log, the first log message is GMA Debug BEGIN , the last log message is GMA Debug FINISH , and the network log content begins with GMA Debug CONTENT . If content is too long to fit on a line, it is split among multiple lines, each line beginning with 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 آورده شده است:
درخواست روی شبکه
{
"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;..."
}
]
}
}
پاسخ شبکه
{
"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
}
}