Ad Debugger
NAM SDK 8.14.0 버전부터 Ad Debugger 를 정식 지원합니다.
Ad Debugger 는 광고 요청, 응답, 미디에이션, 디바이스 정보 등을 실시간으로 확인할 수 있는 디버깅 도구입니다.
광고 연동 과정에서 문제를 진단하거나, 광고 로딩 상태를 확인하는 데 유용합니다.
활성화
Ad Debugger 를 활성화하는 방법은 두 가지가 있습니다.
1. 코드에서 활성화
- Kotlin
- Java
GfpAdDebugger.setEnabled(true)
GfpAdDebugger.setEnabled(true);
릴리즈 빌드에서 Ad Debugger 를 활성화하면 경고 다이얼로그가 표시됩니다. 프로덕션 환경에서는 Ad Debugger 를 활성화하지 않는 것을 권장합니다.
2. 서버 기반 활성화
GFP/NAM 담당자를 통해 테스트 기기의 광고 식별자(ADID) 를 등록하면, 해당 기기에서 SDK 초기화 시 Ad Debugger 가 자동으로 활성화됩니다. 별도의 코드 변경 없이 사용할 수 있어 QA 환경이나 릴리즈 빌드에서의 디버깅에 유용합니다.
서버 기반 활성화는 등록된 ADID 에 대해서만 동작하며, 일정 시간이 지나면 자동으로 비활성화됩니다. 활성화 상태는 기기에 캐싱되어 매번 서버에 요청하지 않습니다.
열기
Ad Debugger 를 여는 방법은 두 가지가 있습니다.
1. 제스처로 열기
광고 뷰 위에 세 손가락을 2초간 길게 터치 하면 Ad Debugger 가 열립니다. 해당 광고의 로그가 자동으로 선택되어 표시됩니다.
2. 코드로 열기
GfpAdDebugger.show() 를 호출하여 프로그래밍 방식으로 열 수 있습니다.
- Kotlin
- Java
// Open the debugger (shows the latest ad log)
GfpAdDebugger.show(context, null)
// Open the debugger (shows the latest ad log)
GfpAdDebugger.show(context, null);
화면 구성
Ad Debugger 는 Ad Logs, SDK, Device, Cached Ads 4개의 탭으로 구성되어 있습니다.

Ad Logs 탭
요청된 광고의 로그를 목록으로 보여줍니다. 각 항목에는 광고 유닛 ID, 광고 상태, 요청 시간 등이 표시됩니다.
광고 상태는 다음과 같이 표시됩니다.
| 상태 | 설명 |
|---|---|
| Viewed | 광고가 정상적으로 노출됨 |
| Filled | 광고가 로드되었으나 아직 노출되지 않음 |
| Cached | 광고가 디스크 캐싱됨 |
| Empty | 광고 응답이 없음 (No-Fill) |
| Error | 광고 로딩 중 오류 발생 |
광고 로그 상세
목록에서 항목을 선택하면 해당 광고의 상세 정보를 확인할 수 있습니다. 상세 화면은 다음의 탭으로 구성됩니다.
Overview
광고 로드의 전체 요약 정보를 보여줍니다.

-
State: 광고의 현재 상태
-
Summary: 광고 요청 및 응답의 주요 정보
항목 설명 Ad Unit ID 광고 유닛 식별자 Ad Provider 광고를 제공한 네트워크 이름 Request ID 광고 요청 고유 식별자 Connection Type 네트워크 연결 유형 Render Type 광고 렌더링 방식 Creative Type 광고 소재 유형 Viewable Threshold 노출 인정 기준 (예: 50% / 1s) -
Latency: 요청 ~ 응답 ~ 로드까지의 소요 시간을 시각화
-
Errors: 발생한 오류 목록 (에러 코드, 메시지, 발생 시간)
Events
광고 로딩 과정의 이벤트를 시간 순서대로 보여줍니다.

-
Event Timeline: 광고 요청, 응답 수신, 어댑터 로드, 노출 등 각 단계의 타임라인
-
Event Checklist: 주요 이벤트의 발생 여부를 카테고리별로 확인
카테고리 주요 이벤트 Ad Lifecycle Loaded, View Attached, Rendered, Viewable Impression Viewability 1px Impression, 100% Impression, 100%+1s Impression User Actions Clicked, Ad Opt-Out, Privacy Info, Bounce Back Rewarded / Interstitial Reward Complete, Closed Cache Events Cache Hit, Cache Miss, Prefetch Success/Failed Errors Load Error, Start Error, Lazy Render Failed
Mediation
미디에이션에 참여한 광고 네트워크의 정보를 보여줍니다.

- Summary: 3가지 레이턴시 지표
- Ad Call Latency: 광고 서버 요청 ~ 응답 소요 시간
- Adapter Load Latency: 어댑터에서 광고 로드 소요 시간
- Total Load Latency: 전체 광고 로드 소요 시간
- Latency Chart: 각 어댑터별 소요 시간을 수평 바 차트로 시각화하며, 오류 발생 시 빨간색으로 표시
- Mediation Logs: 어댑터별 상세 로그 (어댑터 이름, 소요 시간, 에러 코드 및 메시지)
- Timeout: 타임아웃 발생 여부 및 시점 표시
Params
광고 요청에 사용된 파라미터 정보를 보여줍니다. Ad Params, Custom Params, 타임아웃 설정, 테스트 모드, SDK 설정, 사용자 설정, 프라이버시 설정 등의 항목을 확인할 수 있습니다.

Ad View
광고 뷰의 계층 구조(View Hierarchy)를 캡처하여 보여줍니다. 광고 뷰의 스크린샷과 함께 각 뷰의 영역이 색상별로 구분되어 표시되며, 네이티브 광고의 경우 바인딩 검증 결과도 확인할 수 있습니다.

SDK 탭
SDK 탭은 SDK, Privacy, Mediation Networks 3개의 서브탭으로 구성되어 있습니다.

SDK 서브탭
SDK 기본 정보와 초기화 상태를 보여줍니다.
| 항목 | 설명 |
|---|---|
| App Info | 퍼블리셔 CD, 서비스 CD, 앱 버전, SDK 버전 |
| Initialization | SDK 초기화 상태 (성공/실패), 캐시 사용 여부 |
| Init Events | 현재 세션 및 이전 세션의 초기화 이벤트 이력 |
Privacy 서브탭
광고 식별자 및 프라이버시 관련 설정값을 보여줍니다.
| 항목 | 설명 |
|---|---|
| Advertising Identifier | Ad ID, Limit Ad Tracking, Disable Ad ID, App Set ID |
| GDPR | GDPR 적용 여부, TC String |
| CCPA | US Privacy String |
| GPP | GPP String, GPP SID |
| COPPA | Child Directed Treatment, Under Age of Consent |
Mediation Networks 서브탭
연동된 미디에이션 네트워크의 어댑터 버전 및 상태를 보여줍니다.
미디에이션 네트워크의 상태는 다음과 같이 표시됩니다.
| 상태 | 설명 |
|---|---|
| Not Installed | 어댑터 미설치 |
| Installed | 어댑터 설치됨 |
| Ready | 초기화 완료, 광고 요청 가능 |
| Error | 초기화 실패 |
| Blocked | 서버 설정에 의해 비활성화됨 |
Device 탭
광고 요청에 영향을 줄 수 있는 디바이스 정보를 보여줍니다.

Network
| 항목 | 설명 |
|---|---|
| Network Type | 네트워크 유형 (Wi-Fi, Cellular 등) |
| WiFi Connected | Wi-Fi 연결 여부 |
| VPN Active | VPN 사용 여부 |
| Network Carrier | 통신사 |
| Proxy/VPN Detail | 프록시 및 VPN 상세 설정 |
Permissions
광고 SDK 동작에 관련된 권한의 부여 상태를 확인합니다.
| 권한 | 설명 |
|---|---|
| INTERNET | 인터넷 접근 |
| ACCESS_NETWORK_STATE | 네트워크 상태 확인 |
| AD_ID | 광고 식별자 접근 |
| ACCESS_FINE_LOCATION | 정밀 위치 |
| ACCESS_COARSE_LOCATION | 대략 위치 |
| ACCESS_WIFI_STATE | Wi-Fi 상태 확인 |
Hardware
| 항목 | 설명 |
|---|---|
| Manufacturer | 제조사 |
| Model | 기기 모델 |
| OS Version | Android 버전 |
| API Level | API 레벨 |
| Screen Resolution | 화면 해상도 (px) |
| Screen Density | 화면 밀도 (ldpi/mdpi/hdpi 등) |
| Locale | 기기 언어/지역 |
| Emulator | 에뮬레이터 여부 |
| Rooted | 루팅 여부 |
App
| 항목 | 설명 |
|---|---|
| Package Name | 패키지명 |
| App Version | 앱 버전 |
| Installer Package | 설치 경로 (Play Store 등) |
| User Agent | User Agent 문자열 |
| Target SDK | 타겟 SDK 버전 |
| Min SDK | 최소 SDK 버전 |
Cached Ads 탭
디스크 캐싱된 광고 목록을 광고 유닛 ID 별로 보여줍니다.

각 캐싱된 광고를 선택하면 상세 정보를 확인할 수 있습니다.
| 항목 | 설명 |
|---|---|
| File Name | 캐시 파일 이름 |
| File Size | 캐시 파일 크기 |
| Creation Time | 캐싱 시점 |
| Expiration Time | 캐시 만료 시점 |
| Total Asset Size | 이미지/동영상 등 에셋 총 크기 |
| Raw JSON | 캐싱된 광고 응답 원본 |
| Native Assets | 네이티브 광고 에셋 목록 (URL, 크기) |
개별 캐시 파일을 선택적으로 삭제할 수도 있습니다.
광고 캐싱 기능에 대한 자세한 내용은 광고 캐싱 가이드를 참고하세요.
로그 내보내기 / 가져오기
내보내기
Ad Debugger 우측 상단의 공유 버튼을 통해 수집된 로그를 .zip 파일로 내보낼 수 있습니다.
내보낼 광고 로그를 개별적으로 선택할 수 있으며, 내보낸 파일은 광고 관련 이슈를 리포트할 때 유용하게 활용할 수 있습니다.
가져오기
이전에 내보낸 .zip 파일을 다시 불러와서 로그를 재현할 수 있습니다.
가져오기 모드에서는 화면 상단에 가져온 데이터임이 표시되며, 리셋 버튼을 통해 실시간 로그 모드로 돌아갈 수 있습니다.