打包方式:云打包 Hbuilder X4.7.6
在用户同意隐私政策前,应用获取了用户的个人信息(设备ID,ICCID),不符合相关法律法规要求。
客服给的整改信息. 请问该怎么处理,必须使用原生隐私弹窗吗
开发人员,自检日志及调用栈信息(不限于SDK的获取信息行为)。
未同意隐私政策前应用获取用户信息的调用栈如下:
应用获取用户信息:设备ID
java.lang.reflect.Method.invoke(Native Method),
io.dcloud.common.adapter.util.PlatformUtil.invokeMethod(SourceFile:6),
io.dcloud.common.adapter.util.PlatformUtil.invokeMethod(SourceFile:2),
io.dcloud.common.util.TelephonyUtil.getMultiIMEI(SourceFile:33),
io.dcloud.common.util.TelephonyUtil.updateIMEI(SourceFile:3),
io.dcloud.common.adapter.util.DeviceInfo.initGsmCdmaCell(SourceFile:11),
io.dcloud.p.h1.a(SourceFile:35),
io.dcloud.p.h1.a(SourceFile:3),
io.dcloud.p.h1.processEvent(SourceFile:165),
io.dcloud.p.k0.dispatchEvent(SourceFile:22),
io.dcloud.common.core.ui.l.processEvent(SourceFile:2),
io.dcloud.common.core.ui.b.obtainPrePlusreadyJs(SourceFile:2),
io.dcloud.common.adapter.ui.webview.WebLoadEvent.reset(SourceFile:1),
io.dcloud.common.adapter.ui.webview.WebLoadEvent.<init>(SourceFile:955),
io.dcloud.common.adapter.ui.webview.SysWebView.init(SourceFile:136),
io.dcloud.common.adapter.ui.AdaWebview.init(SourceFile:2),
io.dcloud.common.core.ui.l.a(SourceFile:652),
io.dcloud.common.core.ui.l.processEvent(SourceFile:5718),
io.dcloud.common.core.ui.l.a(SourceFile:159),
io.dcloud.common.core.ui.l.processEvent(SourceFile:5643),
io.dcloud.p.k0.dispatchEvent(SourceFile:20),
io.dcloud.p.r.processEvent(SourceFile:2),
io.dcloud.p.a5.a(SourceFile:801),
io.dcloud.p.a5.f(SourceFile:31),
io.dcloud.p.r.a(SourceFile:174),
io.dcloud.p.r.a(SourceFile:3),
io.dcloud.p.r$h.onCallBack(SourceFile:11),
io.dcloud.p.a5.a(SourceFile:755),
io.dcloud.p.r.a(SourceFile:130),
io.dcloud.p.r.processEvent(SourceFile:1823),
io.dcloud.p.k0.dispatchEvent(SourceFile:26),
io.dcloud.p.k0.a(SourceFile:143),
io.dcloud.p.k0.a(SourceFile:111),
io.dcloud.p.k0$b.onExecuteEnd(SourceFile:1),
io.dcloud.common.adapter.util.AsyncTaskHandler$1$1.run(SourceFile:1),
android.os.Handler.handleCallback(Handler.java:966),
android.os.Handler.dispatchMessage(Handler.java:110),
android.os.Looper.loopOnce(Looper.java:205),
android.os.Looper.loop(Looper.java:293),
android.app.ActivityThread.loopProcess(ActivityThread.java:10100),
android.app.ActivityThread.main(ActivityThread.java:10089),
java.lang.reflect.Method.invoke(Native Method),
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:586),
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1242)
应用获取用户信息:ICCID
android.content.ContentResolver.query(ContentResolver.java:1223),
android.content.ContentResolver.query(ContentResolver.java:1172),
io.dcloud.common.util.TelephonyUtil.getSubId(SourceFile:5),
io.dcloud.common.util.TelephonyUtil.getIMSI(SourceFile:21),
io.dcloud.common.adapter.util.DeviceInfo.initGsmCdmaCell(SourceFile:12),
io.dcloud.p.h1.a(SourceFile:35),
io.dcloud.p.h1.a(SourceFile:3),
io.dcloud.p.h1.processEvent(SourceFile:165),
io.dcloud.p.k0.dispatchEvent(SourceFile:22),
io.dcloud.common.core.ui.l.processEvent(SourceFile:2),
io.dcloud.common.core.ui.b.obtainPrePlusreadyJs(SourceFile:2),
io.dcloud.common.adapter.ui.webview.WebLoadEvent.reset(SourceFile:1),
io.dcloud.common.adapter.ui.webview.WebLoadEvent.<init>(SourceFile:955),
io.dcloud.common.adapter.ui.webview.SysWebView.init(SourceFile:136),
io.dcloud.common.adapter.ui.AdaWebview.init(SourceFile:2),
io.dcloud.common.core.ui.l.a(SourceFile:652),
io.dcloud.common.core.ui.l.processEvent(SourceFile:5718),
io.dcloud.common.core.ui.l.a(SourceFile:159),
io.dcloud.common.core.ui.l.processEvent(SourceFile:5643),
io.dcloud.p.k0.dispatchEvent(SourceFile:20),
io.dcloud.p.r.processEvent(SourceFile:2),
io.dcloud.p.a5.a(SourceFile:801),
io.dcloud.p.a5.f(SourceFile:31),
io.dcloud.p.r.a(SourceFile:174),
io.dcloud.p.r.a(SourceFile:3),
io.dcloud.p.r$h.onCallBack(SourceFile:11),
io.dcloud.p.a5.a(SourceFile:755),
io.dcloud.p.r.a(SourceFile:130),
io.dcloud.p.r.processEvent(SourceFile:1823),
io.dcloud.p.k0.dispatchEvent(SourceFile:26),
io.dcloud.p.k0.a(SourceFile:143),
io.dcloud.p.k0.a(SourceFile:111),
io.dcloud.p.k0$b.onExecuteEnd(SourceFile:1),
io.dcloud.common.adapter.util.AsyncTaskHandler$1$1.run(SourceFile:1),
android.os.Handler.handleCallback(Handler.java:966),
android.os.Handler.dispatchMessage(Handler.java:110),
android.os.Looper.loopOnce(Looper.java:205),
android.os.Looper.loop(Looper.java:293),
android.app.ActivityThread.loopProcess(ActivityThread.java:10100),
android.app.ActivityThread.main(ActivityThread.java:10089),
java.lang.reflect.Method.invoke(Native Method),
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:586),
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1242)
2 个回复
Ask小助手
根据您提供的堆栈信息和知识库内容,这个问题是因为 uni-app SDK 在 WebView 初始化阶段(
SysWebView.init→DeviceInfo.initGsmCdmaCell)自动获取了设备 IMEI 和 IMSI(ICCID)信息,而此时用户尚未同意隐私政策。解决方案
1. 必须配置 Template 模式隐私政策弹窗
根据 Android 上架隐私政策注意事项,必须配置使用
template模式的隐私与政策提示框,确保在应用启动时最先弹出隐私政策取得用户同意,再进行 SDK 初始化。配置方法请参考:App 原生隐私政策提示框配置教程
2. 调整设备信息获取方式(针对业务代码)
如果您的业务代码中使用了
plus.device.imei、plus.device.imsi或plus.device.uuid等属性方式获取设备信息,请调整为使用plus.device.getInfo方法调用。根据知识库 获取设备信息调整说明:
plus.device.imei)会在应用启动时强制初始化,触发权限申请plus.device.getInfo)遵循动态权限原则,仅在调用时触发授权提示3. 升级 HBuilder X 版本
您当前使用的 HBuilder X 4.7.6 版本较旧(当前最新正式版为 5.04,Alpha 版为 5.03)。建议升级到最新版本,因为新版本对隐私合规和设备信息获取时机有优化。
4. 检查隐私政策内容
确保您的《隐私政策》文档中明确包含以下内容(必须清晰说明,不使用模糊词汇):
5. 如果仍被驳回
如果配置了 template 模式隐私弹窗后仍被检测出违规获取,可能是特定 SDK 版本的问题。建议:
DeviceInfo的初始化时机(需自行处理 SDK 修改)注意:云打包环境下,必须确保隐私弹窗配置正确且为用户同意的第一道交互,SDK 内部初始化逻辑会在用户同意后执行后续敏感操作。
DCloud_Android_zl
参考文档:https://uniapp.dcloud.net.cn/tutorial/app-privacy-android.html
检查一下是否配了游客模式。
陌翊痕 (作者)
"disagreeMode" : {
"support" : false,
"loadNativePlugins" : false,
"visitorEntry" : false,
"showAlways" : false
}
2026-03-19 17:52
DCloud_Android_zl
回复 陌翊痕: 再看一下hrefLoader是不是system。如果不是,设置为system,是的话吧apk包发出来
2026-03-19 18:22
要回复问题请先登录或注册
公告
更多>相关问题