Śledzenie sieci

Śledzenie sieci pozwala zobaczyć aktywności sieciowe związane z pakietem SDK do reklam mobilnych Google. Może to być przydatne podczas debugowania implementacji pakietu SDK do reklam mobilnych Google.

Główną zaletą funkcji śledzenia sieci w porównaniu z takimi narzędziami jak Charles Proxy jest jej dostępność na wszystkich urządzeniach z obsługiwaną wersją Usług Google Play i wszystkimi wersjami Androida. Nie dotyczy to narzędzi proxy ze względu na zmiany w zaufanych urzędach certyfikacji i certyfikatach, które obowiązują od Androida 7.0.

Z tego przewodnika dowiesz się, jak włączyć śledzenie sieci na potrzeby debugowania.

Enable tracing

Aby włączyć śledzenie sieci, włącz opcje programisty na urządzeniu. Następnie uruchom aplikację Ustawienia Google i wybierz opcję Reklamy:

Jeśli masz włączone opcje programisty i funkcja jest dostępna, ekran będzie wyglądać tak:

Wybierz opcję Włącz rejestrowanie debugowania reklam, aby wyświetlić to okno:

Kliknij OK. Pojawi się identyfikator wyświetlania reklam, który kończy się na 10ca1ad1abe1:

Teraz możesz zobaczyć wszystkie dane wyjściowe z dziennika sieci w narzędziu logcat. Aby filtrować tylko dane wyjściowe reklam na poziomie informacji zarówno na ekranie, jak i w pliku, uruchom to polecenie:

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

Wyniki

Do generowania dzienników sieciowych używane są standardowe dzienniki konsoli odpowiednie dla danej platformy.

Komunikaty logu konsoli zawsze zaczynają się od ciągu GMA Debug BEGIN, GMA Debug CONTENT lub GMA Debug FINISH, więc możesz wyszukiwać lub filtrować według tych ciągów. W przypadku każdego dziennika sieci pierwszy komunikat logu to GMA Debug BEGIN, ostatni komunikat logu to GMA Debug FINISH, a treść dziennika sieci zaczyna się od GMA Debug CONTENT. Jeśli treść jest zbyt długa, aby zmieścić się w jednym wierszu, jest dzielona na kilka wierszy, z których każdy zaczyna się od GMA Debug CONTENT.

Przykładowe dane wyjściowe konsoli

I/Ads     ( 4660): GMA Debug BEGIN
I/Ads     ( 4660): GMA Debug CONTENT {"timestamp":1510679993741,...}
I/Ads     ( 4660): GMA Debug FINISH

Przykład danych wyjściowych JSON

Oto kilka przykładowych danych wyjściowych JSON z 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
  }
}