Śledzenie sieci

Śledzenie sieci umożliwia obserwowanie aktywności sieciowych związanych z Google Mobile Pakiet SDK do wyświetlania reklam. Może to być przydatne podczas debugowania implementacji reklam mobilnych Google.

Głównym powodem, dla którego warto używać śledzenia sieci zamiast narzędzi takich jak Charles Serwer proxy działa ze wszystkimi wersjami Android i urządzenia z obsługiwaną wersją Usług Google Play. Ten nie jest stosowany w narzędziach proxy z powodu zmian zaufanych urzędów certyfikacji i certyfikatów dostępnych 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 opcję programisty opcje Twojego urządzenia. Następnie uruchom aplikację Ustawienia Google i wybierz opcję Reklamy:

Przy założeniu, że opcje programisty są włączone i funkcja jest dostępna, ekran będzie wyglądać tak:

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

Kliknij OK, aby wyświetlić identyfikator wyświetlania reklam, który kończy się z 10ca1ad1abe1:

Teraz możesz wyświetlić wszystkie dane wyjściowe logowania sieciowego w logcat. Do filtruje tylko dane wyjściowe reklam na poziomie informacji zarówno na ekranie, jak i w pliku, problem następujące polecenie:

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

Wyniki

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

Komunikaty dziennika konsoli zawsze zaczynają się od ciągu GMA Debug BEGIN, GMA Debug CONTENT lub GMA Debug FINISH, więc możesz według nich wyszukiwać lub filtrować według nich ciągi tekstowe. W każdym logu sieci pierwszy komunikat logu to GMA Debug BEGIN, ostatni komunikat logu to GMA Debug FINISH i rozpoczyna się treść dziennika sieci dzięki funkcji GMA Debug CONTENT. Jeśli treść jest zbyt długa, aby zmieścić się w wierszu, zostanie dzielona. w wielu wierszach, a każdy z nich zaczyna się od GMA Debug CONTENT.

Przykład danych wyjściowych 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
  }
}