Tính năng truy vết mạng cho phép bạn xem các hoạt động mạng liên quan đến Google Mobile Ads SDK. Điều này có thể hữu ích khi gỡ lỗi cho quá trình triển khai Quảng cáo của Google trên thiết bị di động.
Một lý do quan trọng để bạn nên sử dụng tính năng truy vết mạng thay vì các công cụ như Charles Proxy là vì tính năng này hoạt động với tất cả phiên bản Android và thiết bị chạy phiên bản Dịch vụ Google Play được hỗ trợ. Điều này không xảy ra với các công cụ proxy do những thay đổi về CA và chứng chỉ đáng tin cậy được áp dụng kể từ Android 7.0.
Hướng dẫn này giải thích cách bật tính năng truy vết mạng cho mục đích gỡ lỗi.
Bật tính năng theo dõi
Để bật tính năng truy vết mạng, hãy bật tuỳ chọn cho nhà phát triển cho thiết bị của bạn. Sau đó, hãy chạy ứng dụng Cài đặt Google rồi chọn mục Quảng cáo:

Giả sử bạn đã bật Tùy chọn cho nhà phát triển và tính năng này có sẵn, thì màn hình của bạn sẽ có dạng như sau:

Chọn Bật tính năng ghi nhật ký gỡ lỗi cho quảng cáo để mở hộp thoại sau:

Nhấn vào OK, sau đó bạn sẽ thấy một mã nhận dạng cho quảng cáo có đuôi là 10ca1ad1abe1:

Giờ đây, bạn có thể xem tất cả kết quả từ tính năng ghi nhật ký mạng trong logcat. Để chỉ lọc kết quả đầu ra của Quảng cáo ở cấp Thông tin cho cả màn hình và tệp, hãy đưa ra lệnh sau:
adb logcat '*:S' Ads:I Ads-cont:I | tee logs.txtĐầu ra
Nhật ký bảng điều khiển tiêu chuẩn phù hợp với nền tảng được dùng để xuất nhật ký mạng.
Thông điệp nhật ký của bảng điều khiển luôn bắt đầu bằng chuỗi GMA Debug BEGIN, GMA Debug CONTENT hoặc GMA Debug FINISH, vì vậy, bạn có thể tìm kiếm hoặc lọc theo các chuỗi này. Đối với mỗi nhật ký mạng, thông điệp nhật ký đầu tiên là GMA Debug BEGIN,
thông điệp nhật ký cuối cùng là GMA Debug FINISH và nội dung nhật ký mạng bắt đầu
bằng GMA Debug CONTENT. Nếu nội dung quá dài để vừa trên một dòng, thì nội dung đó sẽ được chia thành nhiều dòng, mỗi dòng bắt đầu bằng GMA Debug CONTENT.
Ví dụ về kết quả xuất ra trên bảng điều khiển
I/Ads ( 4660): GMA Debug BEGIN
I/Ads ( 4660): GMA Debug CONTENT {"timestamp":1510679993741,...}
I/Ads ( 4660): GMA Debug FINISH
Ví dụ về kết quả JSON
Dưới đây là một số mẫu kết quả JSON từ logcat:
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
}
}