uni-app 项目未使用广告模块却被谷歌检测出广告问题

uni-app 项目未使用广告模块却被谷歌检测出广告问题

开发环境 版本号 项目创建方式
Windows windows10 HBuilderX
# 操作步骤:
aab上架google play

# 预期结果:
无广告信息

# 实际结果:
检测出含有广告

# bug描述:
我们用谷歌通道云打包aab的时候  uni-app项目中没有用到广告模块,结果被谷歌检测出了广告,  经过反编译aab 发现里面的确有ads相关内容, 请问这个如何解决呢?
![](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20211201/4e1c4fc686c7514e7f638f790876ba50.png)

更多关于uni-app 项目未使用广告模块却被谷歌检测出广告问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

14 回复

同问,求解答。

更多关于uni-app 项目未使用广告模块却被谷歌检测出广告问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


谷歌完整的检测报告麻烦提供一下。

这个回复好像不能贴图。我在下面重写一条评论

接上面的回复

这个是谷歌的广告,你把安装包发一下吧,我看一下。

回复 DCloud_Android_zl: 好的。接下面的回复

回复 DCloud_Android_zl: https://ide.dcloud.net.cn/build/download/45a16430-58c9-11ec-99b6-c1d946967afd 给您这个下载地址吧? 网不好上传半天没上传好,晚点我再补一个包

回复 8***@qq.com: 麻烦提供一下其他方式,协助解决一下这个问题。

回复 DCloud_Android_zl: 我回复你的时候 链接就不可以用。我在下面又发了个地址。

谷歌应用市场提示检测到广告SDK是由于集成了谷歌推送FCM导致的时候。 目前的临时解决方案有: 1、按照上面的提示选否,继续上传。 2、临时去掉fcm相关配置(可以私信我临时去掉相关配置) ,重新打包审核。 3、通过离线打包的方式,打包时不集成fcm相关模块,打包提交审核。离线打包集成UniPush
此处提示的广告为谷歌的AdMob,是因为集成FCM的时候引用谷歌相关的库导致的。已经联系个推处理。

请问使用了uni-ui了吗

根据你的描述,问题很可能出在第三方SDK的依赖上。即使你的uni-app项目代码中没有主动集成或调用任何广告模块,但项目依赖的某些原生插件或模块可能内置了广告SDK(例如穿山甲、优量汇等),这些SDK的代码和权限声明会被打包进最终的AAB文件中。

从你提供的反编译截图来看,AndroidManifest.xml中出现了com.google.android.gms.ads.APPLICATION_ID等与Google AdMob相关的元数据,这是广告SDK的典型标识。此外,可能还存在一些与广告相关的权限声明(如INTERNETACCESS_NETWORK_STATE等,虽然这些权限也可能被其他功能使用)。

解决步骤建议:

  1. 检查项目依赖:首先,请仔细检查你的uni-app项目中是否引入了任何第三方原生插件(uni_modules或本地插件)。特别是那些与音视频、社交分享、统计、推送等常见功能相关的插件,它们有时会捆绑广告SDK作为其盈利方式或依赖项。你可以在项目的nativeplugins目录或uni_modules目录下查找相关插件,并检查其配置文件或文档。

  2. 检查App模块配置:在HBuilderX中,打开项目的manifest.json文件,切换到“App模块配置”页面。逐一检查所有已勾选的模块。特别注意“广告(Ad)”相关的模块(如“uni-AD”),即使你没有主动使用,如果它们被勾选,其对应的SDK也会被打包进去。请确保所有广告模块都处于未勾选状态。

  3. 检查打包配置:在提交云打包时,请确认你选择的“打包模式”和“渠道”没有默认添加广告依赖。同时,检查“原生插件”列表中是否包含了可能带有广告SDK的插件。

  4. 排查原生依赖:如果以上步骤无法定位,问题可能更深层。某些基础库或引擎依赖可能被修改以包含广告。你可以尝试创建一个全新的、纯净的uni-app项目(不添加任何额外模块和插件),然后进行云打包生成AAB,再反编译对比两者的AndroidManifest.xmldex文件,查找差异点。

  5. 联系插件开发者或寻求官方支持:如果确认是某个第三方插件引入的广告SDK,你可以联系该插件的开发者,询问是否有去除广告SDK的纯净版本,或者是否有明确的配置选项可以禁用广告。如果问题复杂,可以通过DCloud官方社区或工单系统提交详细的项目信息(如manifest.json内容、使用的插件列表等)寻求帮助。

临时验证方法:在定位问题期间,你可以尝试在manifest.json的源码视图中,找到android节点,尝试手动添加以下配置(但这可能无法彻底移除SDK代码,仅作为测试):

"android": {
    "permissions": [
        // 仅保留你明确需要的权限,移除可疑的广告相关权限,但需谨慎
    ],
    // 可以尝试添加以下元数据来覆盖或禁用默认的AdMob ID(效果因SDK而异)
    "meta-data": {
        "com.google.android.gms.ads.APPLICATION_ID": "ca-app-pub-3940256099942544~3347511713" // 这是一个Google的测试ID,仅用于测试
    }
}
回到顶部