네트워크 추적

네트워크 추적을 사용하면 Google 모바일과 관련된 네트워크 활동을 확인할 수 있습니다. 선택합니다. 이는 Google 모바일 광고 구현을 디버깅할 때 유용할 수 있습니다.

Charles 코드 대신 네트워크 추적을 사용하는 주된 이유 프록시는 서비스의 모든 버전에서 작동하는 Google Play 서비스의 지원되는 버전을 실행하는 Android 및 기기 이 의 변경사항 때문에 프록시 도구에는 적용되지 않습니다. 신뢰할 수 있는 CA 및 인증서를 제공합니다.

이 가이드에서는 디버깅을 위해 네트워크 추적을 사용 설정하는 방법을 설명합니다.

추적 사용 설정

네트워크 추적을 사용하려면 개발자가 옵션을 사용하세요. 그런 다음 Google 설정 앱을 실행하고 광고 옵션을 선택하세요.

개발자 옵션이 사용 설정되어 있고 해당 기능을 사용할 수 있다면 화면이 다음과 같이 표시됩니다.

광고 디버그 로깅 사용 설정 옵션을 선택하면 다음 대화상자가 표시됩니다.

확인을 탭하면 10ca1ad1abe1:

이제 logcat에서 네트워크 로깅의 모든 출력을 볼 수 있습니다. 받는사람 정보 수준 광고 출력만 화면과 파일 모두에 필터링 다음 명령어를 실행합니다.

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

출력

표준 플랫폼에 적합한 콘솔 로그는 네트워크 로그를 출력하는 데 사용됩니다.

콘솔 로그 메시지는 항상 GMA Debug BEGIN 문자열로 시작합니다. GMA Debug CONTENT 또는 GMA Debug FINISH(이 항목을 검색하거나 필터링할 수 있음) 합니다. 각 네트워크 로그의 첫 번째 로그 메시지는 GMA Debug BEGIN입니다. 마지막 로그 메시지는 GMA Debug FINISH이고 네트워크 로그 내용이 GMA Debug CONTENT. 한 줄에 들어가기에는 콘텐츠가 너무 길면 분할됩니다. 여러 행 사이에 배치(각 줄은 GMA Debug CONTENT로 시작)

콘솔 출력 예

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

JSON 출력 예

다음은 logcat의 JSON 출력 샘플입니다.

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
  }
}