नेटवर्क ट्रेसिंग की मदद से, Google Mobile Ads SDK से जुड़ी नेटवर्क गतिविधियां देखी जा सकती हैं. यह Google Mobile Ads को लागू करने की प्रोसेस को डीबग करने में मददगार हो सकता है.
Charles प्रॉक्सी जैसे टूल के बजाय, नेटवर्क ट्रेसिंग का इस्तेमाल करने की खास वजह यह है कि यह Android के सभी वर्शन और उन डिवाइसों पर काम करता है जिनमें Google Play services का काम करने वाला वर्शन इंस्टॉल है. Android 7.0 के बाद से, भरोसेमंद सीए और सर्टिफ़िकेट में हुए बदलावों की वजह से, प्रोक्सी टूल के साथ ऐसा नहीं होता.
इस गाइड में, डीबग करने के लिए नेटवर्क ट्रैकिंग की सुविधा चालू करने का तरीका बताया गया है.
ट्रैकिंग की सुविधा चालू करना
नेटवर्क ट्रैकिंग की सुविधा चालू करने के लिए, अपने डिवाइस के लिए डेवलपर के विकल्प चालू करें. इसके बाद, 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
}
}