নেটওয়ার্ক ট্রেসিং আপনাকে Google মোবাইল বিজ্ঞাপন SDK সম্পর্কিত নেটওয়ার্ক কার্যকলাপ দেখতে দেয়। এটি আপনার Google মোবাইল বিজ্ঞাপন বাস্তবায়ন ডিবাগ করার ক্ষেত্রে কার্যকর হতে পারে।
চার্লস প্রক্সির মতো টুলের পরিবর্তে নেটওয়ার্ক ট্রেসিং ব্যবহার করার একটি মূল কারণ হল এটি অ্যান্ড্রয়েডের সমস্ত সংস্করণ এবং গুগল প্লে পরিষেবার সমর্থিত সংস্করণ চালিত ডিভাইসগুলির সাথে কাজ করে। অ্যান্ড্রয়েড 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
}
}