ردیابی شبکه

انتخاب پلاتفرم: iOS Android (قدیمی)

ردیابی شبکه به شما امکان می‌دهد فعالیت‌های شبکه مربوط به «کیت توسعه نرم‌افزار تبلیغات تلفن همراه Google» را ببینید. این می‌تواند در اشکال‌زدایی پیاده‌سازی «آگهی‌های تلفن همراه Google» مفید باشد.

دلیل اصلی استفاده از ردیابی شبکه به‌جای ابزارهایی مثل Charles Proxy این است که ردیابی شبکه با همه نسخه‌های Android و دستگاه‌هایی که نسخه پشتیبانی‌شده‌ای از «خدمات Google Play» را اجرا می‌کنند کار می‌کند. این مورد درخصوص ابزارهای پراکسی به‌دلیل تغییرات در گواهینامه‌های CA و گواهینامه‌های مورداعتماد موجود از Android 7.0 صدق نمی‌کند.

این راهنما نحوه فعال کردن ردیابی شبکه را برای اهداف اشکال‌زدایی توضیح می‌دهد.

فعال کردن ردیابی

برای فعال کردن ردیابی شبکه، گزینه‌های توسعه‌دهندگان را برای دستگاهتان فعال کنید. سپس، برنامه تنظیمات Google را راه‌اندازی کنید و گزینه آگهی‌ها را انتخاب کنید:

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

گزینه فعال کردن گزارش اشکال‌زدایی برای آگهی‌ها را انتخاب کنید تا کادر گفتگوی زیر ظاهر شود:

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

اکنون می‌توانید همه بروندادهای ثبت شبکه را در logcat ببینید. برای اینکه برونداد «آگهی‌های» سطح «اطلاعات» را فقط در صفحه و فایل فیلتر کنید، فرمان زیر را اجرا کنید:

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

خروجی

از گزارش‌های کنسول استاندارد مناسب پلاتفرم برای برونداد گزارش‌های شبکه استفاده می‌شود.

پیام‌های گزارش Console همیشه با رشته 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
  }
}