Theo dõi mạng

Tính năng theo dõi mạng cho phép bạn xem các hoạt động mạng liên quan đến SDK quảng cáo trên thiết bị di động của Google. Điều này có thể hữu ích khi gỡ lỗi triển khai Quảng cáo trên thiết bị di động của Google của bạn.

Một lý do quan trọng để sử dụng tính năng theo dõi mạng thay vì các công cụ như Proxy Charles là vì tính năng này hoạt động với tất cả các phiên bản Android và thiết bị chạy một phiên bản dịch vụ Google Play được hỗ trợ. Tuy nhiên, điều này không đúng với các công cụ proxy do những thay đổi trong các 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 theo dõi mạng cho mục đích gỡ lỗi.

Bật tính năng theo dõi

Để bật tính năng theo dõi mạng, hãy bật tuỳ chọn cho nhà phát triển trên thiết bị của bạn. Sau đó, chạy ứng dụng Cài đặt Google và chọn mục Quảng cáo:

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

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

Nhấn vào OK và bạn sẽ thấy một giá trị nhận dạng cho quảng cáo kết thúc bằng 10ca1ad1abe1:

Giờ đây, bạn có thể xem tất cả đầu ra của việc ghi nhật ký mạng trong logcat. Để chỉ lọc đầu ra Quảng cáo cấp thông tin cho cả màn hình và tệp, hãy phát lệnh sau:

adb logcat '*:S' Ads:I Ads-cont:I | tee logs.txt

Đầu ra

Các 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ý trên 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, do đó, bạn có thể tìm kiếm hoặc lọc trên 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 không thể nằm vừa trên một dòng, 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ả của 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ề đầu ra JSON

Dưới đây là một số mẫu đầu ra 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
  }
}