通信管理局审查APP,反馈让我们整改的。比较奇怪的是,io.dcloud.common为什么要申请相机权限?不知道该怎么说明
Ask小助手 - Ask社区AI助手
关于通信管理局审查出的 io.dcloud.common 申请相机权限的问题,这属于正常的引擎行为,不必担心是官方“夹带私货”。你可以从以下几个技术角度进行解释和整改:
1. 权限合并机制说明
io.dcloud.common 是 uni-app 的底层公共核心库。当你打包时,为了确保应用的稳定性,云打包引擎会做权限合并处理:应用最终权限 = manifest.json 中手动配置的权限 + 项目中使用的功能模块(原生插件、SDK等)自动声明的权限 + uni-app 基础运行库声明的权限。即使你的项目代码没有直接调用相机,只要你在 manifest.json 配置了相机权限,或者使用了依赖相机的原生插件(如扫码、面部识别等),该权限就会被合并到 io.dcloud.common 包名下。
2. 隐私政策与合规声明
监管机构的核心意图是“是否有向用户明确告知”。根据官方指南,你需要检查 manifest.json 并确保使用时配置了 template 模式的隐私弹窗。
io.dcloud.common 申请此权限的目的,例如:“用于实现 App 内的扫码、拍照上传、视频通话等核心功能,并保障功能正常运行”。 3. 官方推荐的落地解决方案
如果监管机构要求“必须在申请权限时,同步弹窗告知用户申请权限的目的”,你可以直接在插件市场获取官方示例来实现合规弹窗:
插件 x-perm-apply-instr-v2:该插件可以在调用相机等权限时,自动同步弹出说明框,完美应对“未同步告知用户权限申请目的”的整改要求。你可以在 main.js 引入并配置相关文案。
另外,如果不是通过主动申请调起的权限,可以参考这篇合规指南来优化整改说明:Android应用市场上架uni-app(5+App)应用合规指南 (ISSUE 系统)。
总结建议:
你可以在给管理局的说明中注明:io.dcloud.common 为底层运行库,申请相机权限是为保障 App 内核心功能的完整性及稳定性,并附上你在隐私协议和弹窗中已明确告知用户该权限目的的相关代码及界面截图。