नेटवर्क ट्रेसिंग

नेटवर्क ट्रेसिंग की मदद से, Google मोबाइल विज्ञापन SDK से जुड़ी नेटवर्क गतिविधियां देखी जा सकती हैं. इसका इस्तेमाल, Google Mobile Ads लागू करने के तरीके को डीबग करने में किया जा सकता है.

चार्ल्स प्रॉक्सी जैसे टूल की जगह, नेटवर्क ट्रेस करने की सुविधा इस्तेमाल करने की एक मुख्य वजह यह है कि यह Android के सभी वर्शन और उन डिवाइसों पर काम करता है जिन पर Google Play services काम करता है. Android 7.0 के बाद से मौजूद भरोसेमंद CA और सर्टिफ़िकेट में हुए बदलावों की वजह से, प्रॉक्सी करने के टूल में ऐसा नहीं किया जा सकता.

इस गाइड में, डीबग करने के लिए नेटवर्क ट्रेसिंग को चालू करने का तरीका बताया गया है.

ट्रेसिंग चालू करें

नेटवर्क ट्रेसिंग की सुविधा चालू करने के लिए, अपने डिवाइस के लिए डेवलपर के लिए सेटिंग और टूल चालू करें. इसके बाद, Google Settings ऐप्लिकेशन खोलें और विज्ञापन विकल्प चुनें:

यह मानते हुए कि आपने डेवलपर के लिए सेटिंग और टूल को चालू किया है और सुविधा उपलब्ध है, तो आपकी स्क्रीन ऐसी दिखेगी:

नीचे दिया गया डायलॉग देखने के लिए, विज्ञापनों के लिए डीबग लॉग करने की सुविधा चालू करें विकल्प चुनें:

ठीक है पर टैप करने के बाद, आपको विज्ञापन के लिए ऐसा आइडेंटिफ़ायर दिखेगा जो 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
  }
}