Android N 이상 버전에서 Google 모바일 광고 SDK의 Charles 프록시 설정하기

Android N 이상에서는 다음 단계가 실행될 때만 광고 호출이 Charles 프록시에 표시됩니다.

  1. 휴대기기에서 Google Play 서비스를 업데이트합니다.
  2. 휴대기기에서 네트워크 추적을 사용 설정합니다.
  3. 기기에 Charles SSL 인증서를 설치하고 프록시를 설정합니다.
  4. 모바일 앱에서 SSL 프록시를 사용 설정합니다.

휴대기기에서 Google Play 서비스 업데이트

에뮬레이터의 경우 사이드 메뉴에 Google Play 섹션이 표시되지 않으면 Android 스튜디오를 업데이트하고 Virtual Device Configuration에서 최신 시스템 이미지를 다운로드해야 할 수 있습니다. 타겟에 Google Play가 포함된 시스템 이미지를 사용해야 합니다.

사이드 메뉴를 사용하여 Google Play 서비스를 확인하고 최신 버전으로 업데이트하세요. Google Play 서비스의 최소 작동 버전은 14.5.74입니다.

실제 휴대기기 (스마트폰 또는 태블릿)의 경우 Google Play를 검색하거나 이 링크를 따라 Google Play를 직접 열 수 있습니다.

휴대기기에서 네트워크 추적 사용 설정

네트워크 추적을 사용하려면 기기에서 개발자 옵션을 사용 설정해야 합니다. Google 설정 앱을 실행하고 Google > Ads > Enable debug logging for ads를 선택합니다. AdMob 및 Google Ad Manager 게시자를 위한 자세한 가이드가 제공됩니다.

기기에 Charles SSL 인증서 설치 및 프록시 설정하기

Charles를 모바일 앱의 프록시로 사용하려면 컴퓨터에 Charles를 다운로드하여 설치해야 합니다. Charles'의 안내에 따라 Android Emulator 또는 휴대기기에 SSL 인증서를 설치합니다.

에뮬레이터는 이미 Charles를 실행 중인 컴퓨터와 동일한 Wi-Fi 네트워크에 연결되어 있으므로 프록시로 에뮬레이터를 사용하는 것이 더 간단합니다. 에뮬레이터를 프록시와 함께 사용하는 경우 프록시를 localhost(http://127.0.0.1) 및 Charles 프록시가 실행 중인 포트 (Charles 메뉴 옵션 Proxy > Proxy Settings에서 찾을 수 있음)로 설정합니다.

실제 휴대기기 (스마트폰 또는 태블릿)를 사용하는 경우 고급 네트워크 설정을 사용하여 Charles를 실행하는 컴퓨터와 동일한 Wi-Fi 네트워크에 휴대기기를 연결해야 합니다. 실제 기기에서 프록시 설정을 할 때 Charles 메뉴 옵션 Help > Local IP address를 사용하여 컴퓨터의 IP 주소를 확인하고 기기의 프록시 주소를 입력합니다 (이 작업을 수행하려면 동일한 Wi-Fi 네트워크에 연결되어 있어야 함). Charles 프록시가 실행 중인 포트를 사용합니다.

모바일 앱에 SSL 프록시 사용 설정

Charles에서 모바일 앱의 SSL 트래픽을 가로채려면 앱에서 사용자가 제공한 SSL 인증서를 신뢰할 수 있음을 선언해야 합니다.

먼저 res/xml/network_security_config.xml 경로에 Network Security Configuration의 새 XML 리소스 파일을 추가해야 합니다.

<network-security-config>
   <debug-overrides>
       <trust-anchors>
           <!-- Trust user added CAs while debuggable only -->
           <certificates src="user" />
       </trust-anchors>
   </debug-overrides>
</network-security-config>

그런 다음 네트워크 보안 구성을 사용하도록 AndroidManifest.xml 파일을 업데이트합니다.

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application ...
                 android:networkSecurityConfig="@xml/network_security_config"
                 ... >
        ...
    </application>
</manifest>

그런 다음 모바일 앱을 실행하고 Charles 로그에서 광고 요청을 찾을 수 있습니다.

더 궁금한 점이 있거나 일대일 상담이 필요한 경우 Google 기술계정 관리자에게 문의하여 Google Ads 개발자 관계팀의 실무자와의 만남을 신청하세요.