Śledzenie sieci pozwala zobaczyć aktywność w sieci związaną z pakietem SDK do reklam mobilnych Google. Może to być pomocne podczas debugowania implementacji reklam mobilnych Google.
Najważniejszym powodem, dla którego warto korzystać z śledzenia sieci zamiast narzędzi takich jak Charles Proxy, jest to, że działa ono ze wszystkimi wersjami Androida i urządzeniami z obsługiwaną wersją usług Google Play. W przypadku narzędzi proxy nie dzieje się tak ze względu na zmiany w zaufanych urzędach certyfikacji i certyfikatach, które zostały wprowadzone od Androida w wersji 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 swoim urządzeniu. Następnie uruchom aplikację Ustawienia Google i wybierz opcję Reklamy:
Zakładając, że opcje programisty są włączone, a funkcja jest dostępna, ekran będzie wyglądał tak:
Wybierz opcję Włącz logowanie debugowania w przypadku reklam, aby wyświetlić to okno:
Kliknij OK. Wyświetli się identyfikator wyświetlania reklam, który kończy się na 10ca1ad1abe1
:
W logcat masz teraz widoczne wszystkie dane wyjściowe z logowania sieciowego. Aby filtrować na ekranie i do pliku tylko dane wyjściowe reklam na poziomie informacji, uruchom to polecenie:
adb logcat '*:S' Ads:I Ads-cont:I | tee logs.txt
Dane wyjściowe
Do wygenerowania dzienników sieciowych używane są standardowe dzienniki konsoli odpowiednie dla platformy.
Komunikaty dziennika konsoli zawsze zaczynają się od ciągu znaków GMA Debug BEGIN
, GMA Debug CONTENT
lub GMA Debug FINISH
, więc możesz je wyszukiwać i filtrować. Dla każdego logu sieciowego pierwszy komunikat logu to GMA Debug BEGIN
, ostatni to GMA Debug FINISH
, a treść logu sieciowego zaczyna się od GMA Debug CONTENT
. Jeśli treść nie mieści się w wierszu, jest dzielona między kilka wierszy, 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ładów 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
}
}