Как настроить прокси-сервер Charles для GMA Next-Gen SDK на устройствах Android N и более поздних версий

Выберите платформу: Android Android (устаревшая версия)

На устройствах с Android N или более поздней версии вызовы объявлений видны в Charles Proxy только после выполнения следующих действий:

  1. Установите на устройство SSL-сертификат Charles и настройте прокси-сервер.
  2. Включите SSL-прокси для мобильного приложения.

Установите на устройство сертификат SSL Charles и настройте прокси-сервер

Чтобы использовать Charles в качестве прокси-сервера для приложения, скачайте и установите Charles на компьютер.

Чтобы сохранить сертификат в виде файла .pem или .cer, выберите Help > SSL Proxying > Save Charles Root Certificate (Справка > Проксирование SSL > Сохранить корневой сертификат Charles). Чтобы установить сертификат на устройство, следуйте инструкциям в разделе Help > SSL Proxying (Справка > SSL-проксирование).

Если вы используете эмулятор Android с прокси-сервером, укажите адрес прокси-сервера http://127.0.0.1. Укажите порт, который показывается в Charles в разделе Proxy > Proxy Settings (Прокси-сервер > Настройки прокси-сервера).

Если вы используете физическое устройство, подключите его к той же сети Wi-Fi, что и компьютер. Чтобы настроить прокси-сервер, откройте расширенные настройки сети на устройстве. Подробнее о том, как подключаться к сетям Wi-Fi на телефоне Pixel… В Charles выберите Help (Справка) > Local IP Address (Локальный IP-адрес), чтобы узнать свой IP-адрес. На устройстве введите IP-адрес и порт Charles в качестве прокси-сервера.

Как включить SSL-прокси для мобильного приложения

Чтобы Charles мог перехватывать SSL-трафик вашего мобильного приложения, укажите, что приложение может доверять SSL-сертификату. Вы можете доверять сертификату, установленному пользователем, или встроить сертификат Charles в приложение в качестве необработанного ресурса. Например, вы можете сохранить сертификат в файле res/raw/charles_cert.pem.

Сначала добавьте новый XML-файл ресурсов для конфигурации сетевой безопасности в файл res/xml/network_security_config.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.