Configuración del proxy de Charles para el SDK de anuncios de Google Móvil en Android N o versiones posteriores

在 Android N 或更高版本中,只有在执行以下步骤后广告调用才会在 Charles 代理中显示:

  1. 在移动设备上更新 Google Play 服务。
  2. 在移动设备上启用网络跟踪功能。
  3. 在您的设备上安装 Charles SSL 证书,并设置代理。
  4. 为您的移动应用启用 SSL 代理。

在移动设备上更新 Google Play 服务

对于模拟器,如果您在侧边菜单中看不到 Google Play 部分,则可能需要更新 Android Studio 并在虚拟设备配置中下载最新的系统映像。请确保在目标中使用 Google Play 的系统映像。

使用侧边菜单查看 Google Play 服务并将其更新到最新版本。Google Play 服务的最低可用版本是 14.5.74

对于实体移动设备(手机或平板电脑),您可以搜索 Google Play 或点击此链接以直接打开 Google Play。

在移动设备上启用网络跟踪功能

如需启用网络跟踪功能,您需要为您的设备启用开发者选项。启动 Google 设置应用,然后选择 Google > Ads > Enable debug logging for ads(Google Ads 为广告启用调试日志记录)。我们为 AdMob 和 Google Ad Manager 发布商提供了更详细的指南

在您的设备上安装 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 菜单选项帮助 (Local IP address) 来获取您计算机的 IP 地址,在您的设备上输入代理地址(您的设备必须连接到同一 Wi-Fi 网络才能做到这点)。使用运行 Charles 代理的端口。

为您的移动应用启用 SSL 代理

要让 Charles 拦截您的移动应用的 SSL 流量,您需要声明您的应用可以信任用户提供的 SSL 证书。

首先,您需要在路径 res/xml/network_security_config.xml 下为网络安全配置添加新的 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 开发者关系团队中注册咨询交流时间。