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. Tính năng này có thể hữu ích trong việc gỡ lỗi cho hoạt động triển khai Quảng cáo trên thiết bị di động của Google.

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 sẽ hoạt động trên tất cả các phiên bản Android và thiết bị đang chạy một phiên bản được hỗ trợ của các dịch vụ của Google Play. Tuy nhiên, tính năng này không áp dụng cho các công cụ proxy do những thay đổi về Các tổ chức phát hành chứng chỉ đáng tin cậy và chứng chỉ đang được sử dụng cho Android 7.0 trở lên.

Tài liệu 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 các tùy 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 tùy chọn Quảng cáo:

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

Chọn tùy chọn Bật tính năng ghi nhật ký gỡ lỗi cho quảng cáo. Sau đó, bạn sẽ thấy hộp thoại sau:

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

Bây giờ, bạn có thể xem tất cả thông tin xuất từ việc ghi nhật ký mạng trong logcat.

Lệnh logcat sau cho phép bạn chỉ xem thông tin xuất trong nhật ký và lưu thông tin này vào tệp nhật ký:

    adb logcat *:S Ads:I | grep "GMA Debug" | tee logs.txt
    

Lệnh này ghi nhật ký thông tin xuất vào thiết bị đầu cuối cũng như lưu tất cả thông tin xuất trong nhật ký vào tệp logs.txt.

Thông tin xuất

Các bản nhật ký bảng điều khiển thích hợp với nền tảng chuẩn được dùng để xuất nhật ký mạng.

Thông báo nhật ký 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 ra các chuỗi này. Đối với mỗi nhật ký mạng, thông báo nhật ký đầu tiên là GMA Debug BEGIN, thông báo 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 không hiển thị hết trên một dòng do quá dài, 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ề thông tin xuất trong 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
      }
    }