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卡根目录及应用安装列表行为的实战教程也可以访问 https://www.itying.com/category-93-b0.html


uni-app 开发的应用中,如果用户在同意隐私政策之前,应用存在获取SD卡根目录及应用安装列表的行为,这可能会违反隐私政策和相关法律法规(如《个人信息保护法》或 GDPR)。以下是一些可能的原因及解决方案:


可能的原因

  1. 第三方SDK自动初始化

    • 某些第三方SDK(如统计、推送、广告等)可能会在应用启动时自动初始化,并尝试获取设备信息(如SD卡目录、应用安装列表等)。
  2. 应用代码逻辑问题

    • 应用启动时可能直接调用了获取设备信息的 API(如 uni.getSystemInfo 或原生API),而未判断用户是否已同意隐私政策。
  3. 权限声明问题

    • manifest.json 中声明了相关权限(如 READ_EXTERNAL_STORAGEQUERY_ALL_PACKAGES),导致系统在应用启动时自动授予这些权限。

解决方案

  1. 延迟初始化第三方SDK

    • 在用户同意隐私政策后,再初始化第三方SDK。例如:
      // 用户同意隐私政策后
      if (userAgreedPrivacyPolicy) {
          // 初始化统计SDK
          uni.requireNativePlugin('your-sdk-name').init();
      }
      
  2. 动态控制权限请求

    • 在用户同意隐私政策后,再请求相关权限。例如:
      uni.authorize({
          scope: 'scope.writePhotosAlbum',
          success() {
              // 用户同意权限
          },
          fail() {
              // 用户拒绝权限
          }
      });
      
  3. 优化代码逻辑

    • 在应用启动时,避免直接调用获取设备信息的 API。将相关逻辑移到用户同意隐私政策之后。
  4. 修改 manifest.json 配置

    • 移除不必要的权限声明,或使用 android:maxSdkVersion 限制权限在特定系统版本下的使用。例如:
      <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="28" />
回到顶部