欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
好的,针对您提到的“上架小米商店提示频繁自启动或关联启动”的问题,这在应用上架审核中非常常见。根据您提供的检测报告和日志,我们可以通过以下几个步骤来定位和解决。
根据官方文档和社区处理经验,这个问题通常由以下原因引起:
1. 检查并升级 uni-app 及 HBuilderX 版本(最常见原因)
如果您的应用市场反馈的调用栈文件中有此信息 io.dcloud.xx.xx.xx.DownloadReceiver,这说明是 uni-app 框架早期版本的问题。请使用 HBuilderX 3.6.18 及以上版本重新打包提审即可。请务必升级到最新稳定版或更高版本,以避免已知的合规问题。
2. 排查第三方原生插件
如果升级版本后问题依然存在,那么很大概率是您项目中集成的某个原生插件触发了自启动或关联启动。您可以根据审核平台提供的调用堆栈信息,大致判断出是哪个插件(如推送、统计、分享等SDK)的问题。
一旦定位到问题插件,您需要联系该插件的作者,要求对方进行隐私合规整改。如果暂时无法解决,可以考虑暂时移除该插件后重新打包上架。
3. 检查并关闭不必要的模块(如 UniPush)
根据社区的成功案例,UniPush 模块内部集成的某些厂商推送服务(如小米推送、FCM等)可能会包含自启动广播接收器,从而触发审核不通过。
您可以在 manifest.json 的“模块配置”中,尝试去除 UniPush 模块(如果您的应用非强依赖推送功能),然后重新打包提审。有开发者反馈通过此方法审核成功。如果必须使用推送,请确保推送SDK的版本已进行过合规整改。
4. 检查是否集成了谷歌服务(GMS)相关模块
如果您的应用集成了 FCM 推送(包含在 UniPush 中)、Google 统计、Google 登录等模块,这些模块会将 GMS 服务导入安装包,在启动时可能会获取 Android ID 并触发自启动行为,这会导致无法在国内应用市场上架。请检查 manifest.json 配置,将上述模块去除后重新打包。
5. 审查代码中是否有监听系统广播的开机自启动逻辑
如果您自己编写了原生插件或使用了 NJS 调用了原生 API,请检查代码中是否注册了 android.intent.action.BOOT_COMPLETED 等开机广播。应用商店对“开机自启动”的审核非常严格,除非应用是桌面、闹钟等必需类型,否则会被判定为不合理场景。请移除无合理使用场景的开机自启动广播声明。
6. 调整隐私政策与权限申请弹窗
确保您的应用在启动时,在用户同意隐私政策之前,不要进行任何可能触发权限申请或数据收集的初始化操作。如果在同意隐私政策前就触发了关联启动或权限申请弹窗,也会被判定为违规。
具体可以参考配置 privacyRegisterMode 为 manual,并在用户点击同意隐私政策时调用 plus.runtime.agreePrivacy() 方法。
请您按照以上步骤逐一排查。通常,升级 HBuilderX 和排查插件能解决绝大多数此类问题。
1 个回复
Ask小助手 - Ask社区AI助手
好的,针对您提到的“上架小米商店提示频繁自启动或关联启动”的问题,这在应用上架审核中非常常见。根据您提供的检测报告和日志,我们可以通过以下几个步骤来定位和解决。
根据官方文档和社区处理经验,这个问题通常由以下原因引起:
1. 检查并升级 uni-app 及 HBuilderX 版本(最常见原因)
如果您的应用市场反馈的调用栈文件中有此信息
io.dcloud.xx.xx.xx.DownloadReceiver,这说明是 uni-app 框架早期版本的问题。请使用 HBuilderX 3.6.18 及以上版本重新打包提审即可。请务必升级到最新稳定版或更高版本,以避免已知的合规问题。2. 排查第三方原生插件
如果升级版本后问题依然存在,那么很大概率是您项目中集成的某个原生插件触发了自启动或关联启动。您可以根据审核平台提供的调用堆栈信息,大致判断出是哪个插件(如推送、统计、分享等SDK)的问题。
一旦定位到问题插件,您需要联系该插件的作者,要求对方进行隐私合规整改。如果暂时无法解决,可以考虑暂时移除该插件后重新打包上架。
3. 检查并关闭不必要的模块(如 UniPush)
根据社区的成功案例,UniPush 模块内部集成的某些厂商推送服务(如小米推送、FCM等)可能会包含自启动广播接收器,从而触发审核不通过。
您可以在
manifest.json的“模块配置”中,尝试去除 UniPush 模块(如果您的应用非强依赖推送功能),然后重新打包提审。有开发者反馈通过此方法审核成功。如果必须使用推送,请确保推送SDK的版本已进行过合规整改。4. 检查是否集成了谷歌服务(GMS)相关模块
如果您的应用集成了 FCM 推送(包含在 UniPush 中)、Google 统计、Google 登录等模块,这些模块会将 GMS 服务导入安装包,在启动时可能会获取 Android ID 并触发自启动行为,这会导致无法在国内应用市场上架。请检查
manifest.json配置,将上述模块去除后重新打包。5. 审查代码中是否有监听系统广播的开机自启动逻辑
如果您自己编写了原生插件或使用了
NJS调用了原生 API,请检查代码中是否注册了android.intent.action.BOOT_COMPLETED等开机广播。应用商店对“开机自启动”的审核非常严格,除非应用是桌面、闹钟等必需类型,否则会被判定为不合理场景。请移除无合理使用场景的开机自启动广播声明。6. 调整隐私政策与权限申请弹窗
确保您的应用在启动时,在用户同意隐私政策之前,不要进行任何可能触发权限申请或数据收集的初始化操作。如果在同意隐私政策前就触发了关联启动或权限申请弹窗,也会被判定为违规。
具体可以参考配置
privacyRegisterMode为manual,并在用户点击同意隐私政策时调用plus.runtime.agreePrivacy()方法。请您按照以上步骤逐一排查。通常,升级 HBuilderX 和排查插件能解决绝大多数此类问题。
要回复问题请先登录或注册
公告
更多>相关问题