नेटवर्क ट्रेसिंग की मदद से, Google Mobile Ads SDK से जुड़ी नेटवर्क की गतिविधियां देखी जा सकती हैं. इससे, Google Mobile Ads को लागू करने से जुड़ी समस्याओं को ठीक करने में मदद मिल सकती है.
Charles Proxy जैसे टूल के बजाय, नेटवर्क ट्रेसिंग का इस्तेमाल करने की खास वजह यह है कि यह Android के सभी वर्शन और Google Play services के साथ काम करने वाले वर्शन पर काम करता है. हालांकि, प्रॉक्सी टूल के साथ ऐसा नहीं है. ऐसा इसलिए है, क्योंकि Android 7.0 के बाद से, भरोसेमंद CA और सर्टिफ़िकेट में बदलाव किए गए हैं.
इस गाइड में, डीबग करने के लिए नेटवर्क ट्रेसिंग की सुविधा चालू करने का तरीका बताया गया है.
ट्रेसिंग की सुविधा चालू करना
नेटवर्क ट्रेसिंग की सुविधा चालू करने के लिए, अपने डिवाइस पर डेवलपर विकल्प चालू करें. इसके बाद, Google Settings ऐप्लिकेशन लॉन्च करें और विज्ञापन विकल्प चुनें:
मान लें कि आपने डेवलपर के लिए सेटिंग और टूल की सुविधा चालू की है और यह सुविधा उपलब्ध है. ऐसे में, आपकी स्क्रीन कुछ ऐसी दिखेगी:
विज्ञापनों का डीबग लॉग करने की सुविधा चालू करें विकल्प को चुनें, ताकि यह डायलॉग बॉक्स दिखे:
ठीक है पर टैप करें. इसके बाद, आपको विज्ञापन देने वाले का एक ऐसा आइडेंटिफ़ायर दिखेगा जो 10ca1ad1abe1
पर खत्म होता है:
अब आपको logcat में, नेटवर्क लॉगिंग का पूरा आउटपुट दिखेगा. स्क्रीन और फ़ाइल, दोनों में सिर्फ़ जानकारी के लेवल वाले विज्ञापनों का आउटपुट फ़िल्टर करने के लिए, यह कमांड जारी करें:
adb logcat '*:S' Ads:I Ads-cont:I | tee logs.txt
आउटपुट
नेटवर्क लॉग को आउटपुट करने के लिए, प्लैटफ़ॉर्म के हिसाब से स्टैंडर्ड कंसोल लॉग का इस्तेमाल किया जाता है.
Console log messages हमेशा 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
}
}