uni-app 用户同意隐私政策前存在获取SD卡根目录及应用安装列表行为
uni-app 用户同意隐私政策前存在获取SD卡根目录及应用安装列表行为
操作步骤:
- 安装应用后,初次打开app弹出隐私框
预期结果:
- 在打开app同意隐私政策前不能有行为
实际结果:
- 在用户同意隐私政策前存在获取SD卡根目录,获取应用安装列表行为
bug描述:
项目已经配置了template模式,并且设置了"hrefLoader" : “system”, permissionExternalStorage和permissionPhoneState已经值为none ,app去掉了所有权限,但是在提交应用市场仍然被驳回:
- 收集个人信息或打开可收集个人信息权限前是否征得用户同意;
- 在用户同意隐私政策前存在获取SD卡根目录,获取应用安装列表行为。详情见下方堆栈信息。堆栈信息已经上传,请帮忙看下什么原因
信息类别 | 详细信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境操作系统 | Windows |
PC开发环境操作系统版本号 | window 10 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 4.15 |
手机系统 | Android |
手机系统版本号 | Android 14 |
手机厂商 | 小米 |
手机机型 | k70 |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
更多关于uni-app 用户同意隐私政策前存在获取SD卡根目录及应用安装列表行为的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
没有
在 uni-app
开发的应用中,如果用户在同意隐私政策之前,应用存在获取SD卡根目录及应用安装列表的行为,这可能会违反隐私政策和相关法律法规(如《个人信息保护法》或 GDPR)。以下是一些可能的原因及解决方案:
可能的原因
-
第三方SDK自动初始化:
- 某些第三方SDK(如统计、推送、广告等)可能会在应用启动时自动初始化,并尝试获取设备信息(如SD卡目录、应用安装列表等)。
-
应用代码逻辑问题:
- 应用启动时可能直接调用了获取设备信息的 API(如
uni.getSystemInfo
或原生API),而未判断用户是否已同意隐私政策。
- 应用启动时可能直接调用了获取设备信息的 API(如
-
权限声明问题:
- 在
manifest.json
中声明了相关权限(如READ_EXTERNAL_STORAGE
或QUERY_ALL_PACKAGES
),导致系统在应用启动时自动授予这些权限。
- 在
解决方案
-
延迟初始化第三方SDK:
- 在用户同意隐私政策后,再初始化第三方SDK。例如:
// 用户同意隐私政策后 if (userAgreedPrivacyPolicy) { // 初始化统计SDK uni.requireNativePlugin('your-sdk-name').init(); }
- 在用户同意隐私政策后,再初始化第三方SDK。例如:
-
动态控制权限请求:
- 在用户同意隐私政策后,再请求相关权限。例如:
uni.authorize({ scope: 'scope.writePhotosAlbum', success() { // 用户同意权限 }, fail() { // 用户拒绝权限 } });
- 在用户同意隐私政策后,再请求相关权限。例如:
-
优化代码逻辑:
- 在应用启动时,避免直接调用获取设备信息的 API。将相关逻辑移到用户同意隐私政策之后。
-
修改
manifest.json
配置:- 移除不必要的权限声明,或使用
android:maxSdkVersion
限制权限在特定系统版本下的使用。例如:<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="28" />
- 移除不必要的权限声明,或使用