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

प्लैटफ़ॉर्म चुनें: Android iOS

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

Charles Proxy जैसे टूल के बजाय, नेटवर्क ट्रेसिंग का इस्तेमाल करने की खास वजह यह है कि यह Android के सभी वर्शन और Google Play services के ऐसे वर्शन पर काम करता है जो आपके डिवाइस पर काम करते हैं. प्रॉक्सी टूल के मामले में ऐसा नहीं है, क्योंकि Android 7.0 के बाद से, भरोसेमंद CA और प्रमाणपत्रों में बदलाव किए गए हैं.

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

ट्रेसिंग की सुविधा चालू करना

नेटवर्क ट्रेसिंग की सुविधा चालू करने के लिए, डेवलपर विकल्प अपने डिवाइस के लिए चालू करें. इसके बाद, 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
  }
}