Android 连接Charles代理时,Google双击广告请求失败

Android 连接Charles代理时,Google双击广告请求失败,android,ssl,google-dfp,charles-proxy,Android,Ssl,Google Dfp,Charles Proxy,我们一直在使用Charles proxy解决android应用程序中所有与广告相关的问题。我们查看charles中的域请求,并验证传递给这些请求的参数 从最近几天开始(我想是从上一个月开始),当连接到charles时,所有与广告相关的请求都会失败,并显示消息“您可能需要配置浏览器或应用程序以信任charles根证书。请参阅“帮助”菜单中的SSL代理。” 我的设备和Charles设置正确,因为我看到其他域的流量。您可以在所附的屏幕截图中看到这一点。令人惊讶的是,我们的iOS应用程序中没有这个问题

我们一直在使用Charles proxy解决android应用程序中所有与广告相关的问题。我们查看charles中的域请求,并验证传递给这些请求的参数

从最近几天开始(我想是从上一个月开始),当连接到charles时,所有与广告相关的请求都会失败,并显示消息“您可能需要配置浏览器或应用程序以信任charles根证书。请参阅“帮助”菜单中的SSL代理。” 我的设备和Charles设置正确,因为我看到其他域的流量。您可以在所附的屏幕截图中看到这一点。令人惊讶的是,我们的iOS应用程序中没有这个问题

最近谷歌DFP在使用代理方面有什么变化吗?我做了所有的基本工作,比如在手机上安装charles证书,在手机上更改代理设置等等

鉴于:

  • Charles代理设置正确
  • 根证书已安装在您的设备上
  • 您的应用程序网络安全配置很可能不信任用户证书。由于Android 7.0的默认设置是只信任系统证书,因此用户证书不受信任。查看此页:

    下面是一个如何覆盖网络配置以信任应用程序的调试版本的用户证书的示例:创建一个xml文件:security_config.xml

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
    <base-config>
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
    <debug-overrides>
        <trust-anchors>
            <certificates src="user" />
        </trust-anchors>
    </debug-overrides>
    </network-security-config>
    
    
    
    覆盖androidmanifest的应用程序标记中的网络配置

    <application
    android:networkSecurityConfig="@xml/security_config"
    ...
    >
    

    除了上述答案中提到的NetworkSecurityConfig更新之外,您还需要在测试设备中执行以下操作

  • 转到“设备设置”
  • 点击“谷歌”(服务和偏好)选项
  • 点击“服务”下的“广告”选项
  • 启用“启用ads调试日志记录”的切换

  • 有什么解决方案吗?另外,别忘了启用“开发者选项”,否则你永远看不到这个选项。