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

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

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

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

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

휴대기기 앱의 프록시로 Charles를 사용하려면 컴퓨터에 Charles를 다운로드하고 설치해야 합니다. Charles의 안내에 따라 Android 에뮬레이터 또는 모바일 기기에 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 인증서를 신뢰할 수 있다고 선언해야 합니다.

먼저 네트워크 보안 구성을 위한 새 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 로그에서 광고 요청을 찾습니다.