Android N 이상에서 GMA 차세대 SDK의 Charles 프록시 설정

플랫폼 선택: Android Android (레거시)

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

  1. 기기에 Charles SSL 인증서를 설치하고 프록시를 설정합니다.
  2. 모바일 앱에 SSL 프록시를 사용 설정합니다.

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

Charles를 앱의 프록시로 사용하려면 컴퓨터에 Charles를 다운로드하여 설치합니다.

인증서를 .pem 또는 .cer 파일로 저장하려면 Help(도움말) > SSL Proxying(SSL 프록시) > Save Charles Root Certificate(Charles 루트 인증서 저장) 를 선택합니다. 기기에 인증서를 설치하려면 Help(도움말) > SSL Proxying(SSL 프록시) 의 안내를 따르세요.

프록시로 Android Emulator를 사용하는 경우 프록시 주소를 http://127.0.0.1로 설정합니다. Proxy(프록시) > Proxy Settings(프록시 설정) 에서 Charles에 표시된 값으로 포트를 설정합니다.

실제 기기를 사용하는 경우 기기를 컴퓨터와 동일한 Wi-Fi 네트워크에 연결합니다. 프록시를 설정하려면 기기의 고급 네트워크 설정을 엽니다. 자세한 내용은 Pixel 휴대전화에서 Wi-Fi 네트워크에 연결하기를 참고하세요. Charles에서 Help(도움말) > Local IP Address(로컬 IP 주소) 를 선택하여 IP 주소를 찾습니다. 기기에서 Charles의 IP 주소와 Charles 포트를 프록시로 입력합니다.

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

Charles가 모바일 앱의 SSL 트래픽을 가로채려면 앱이 SSL 인증서를 신뢰할 수 있다고 선언합니다. 사용자가 설치한 인증서를 신뢰하거나 Charles 인증서를 앱에 원시 리소스로 삽입할 수 있습니다. 예를 들어 인증서를 res/raw/charles_cert.pem 파일에 저장할 수 있습니다.

먼저 res/xml/network_security_config.xml 파일에 네트워크 보안 구성 을 위한 새 XML 리소스 파일을 추가합니다.

<network-security-config>
   <debug-overrides>
       <trust-anchors>
           <!-- Trust Charles SSL certificate stored in res/raw -->
           <certificates src="@raw/charles_cert" />
           <!-- 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 로그에서 광고 요청을 찾을 수 있습니다.