在采用 Android N 或更高版本的设备上为 Google 移动广告 SDK 设置 Charles Proxy

在采用 Android N 或更高版本的设备上,只有在执行以下步骤后广告调用才会在 Charles Proxy 中显示:

  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 > 广告 > 启用广告调试日志功能。我们为 AdMob 和 Google Ad Manager 发布商提供了更详细的指南

在您的设备上安装 Charles SSL 证书,并设置代理

如需将 Charles 用作移动应用的代理,您需要在计算机上下载和安装 Charles。按照 Charles 的说明在 Android 模拟器或移动设备上安装 SSL 证书。

搭配使用模拟器和代理会更简单,因为模拟器已经连接到运行 Charles 的计算机所连接的 Wi-Fi 网络。搭配使用模拟器和代理时,将代理设置为 localhost (http://127.0.0.1) 和 Charles Proxy 运行所用的端口(可通过以下 Charles 菜单选项找到端口信息:代理 (Proxy) > 代理设置 (Proxy Setting))。

如果您使用的是实体移动设备(手机或平板电脑),您需要使用高级网络设置将移动设备连接到运行 Charles 的计算机所连接的 Wi-Fi 网络。设置实体设备的代理设置时,请使用 Charles 菜单选项帮助 (Help) > 本地 IP 地址(Local IP address) 来获取您计算机的 IP 地址,在您的设备上输入代理地址(您的设备必须连接到计算机所连接的 Wi-Fi 网络才能做到这点)。使用 Charles Proxy 运行所用的端口。

为您的移动应用启用 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 开发者关系团队提供的咨询。