在采用 Android N 或更高版本的设备上,只有在执行以下步骤后广告调用才会在 Charles Proxy 中显示:
- 在移动设备上更新 Google Play 服务。
- 在移动设备上启用网络跟踪功能。
- 在您的设备上安装 Charles SSL 证书,并设置代理。
- 为您的移动应用启用 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 开发者关系团队提供的咨询。