uni-app 安卓App打开应用弹出隐私政策前提前读取传感器列表 uni-push 2(个推SDK)提前收集IMEI 设备MAC地址和软件安装列表等信息

uni-app 安卓App打开应用弹出隐私政策前提前读取传感器列表 uni-push 2(个推SDK)提前收集IMEI 设备MAC地址和软件安装列表等信息

项目创建方式 开发环境 版本号
HBuilderX Windows 11

操作步骤:

  • 打开App,弹出隐私弹窗,同意,进入系统

预期结果:

  • 打开App,弹出隐私弹窗,同意之后,才能获取权限

实际结果:

  • 打开App,开始获取隐私权限,然后才弹出隐私弹窗

bug描述:

  • 项目使用了uni-push 2,个推的SDK会导致,在用户点击同意隐私政策之前,提前收集IMEI、设备MAC地址和软件安装列表等信息,以及提前向用户申请手机、通讯、短信等敏感权限。
  • 以及,打开应用,弹出隐私政策前,(SDK: Dcloud开发平台) 读取传感器列表。
  • 这些问题,在隐私合规检测中都会出现,导致安全评估不过,以及下架整改。

Image Image


更多关于uni-app 安卓App打开应用弹出隐私政策前提前读取传感器列表 uni-push 2(个推SDK)提前收集IMEI 设备MAC地址和软件安装列表等信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html

13 回复

使用一键登陆(个验),上架小米遇到同样的问题,希望官方尽快处理

更多关于uni-app 安卓App打开应用弹出隐私政策前提前读取传感器列表 uni-push 2(个推SDK)提前收集IMEI 设备MAC地址和软件安装列表等信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html


隐私协议的hrefLoader改成system看看

文档上是这样写的,“可能有些检测机构认为webview会读取隐私信息,这时可以配置为system来解决此问题”,我去修改试试

刚提审了,还是失败了

回复 y***@qq.com: 应该还是个推sdk的问题

这个属性是修改点击隐私协议弹出的页面使用的webview

修改 隐私协议的hrefLoader改成system 无效

你好。请问你这个问题解决了吗?

没有解决,临时使用全包更新的方式处理,等过段时间再尝试重新打包上架

你好。请问你这个问题解决了吗?

同样的问题,系统方面的,开发者很无奈,咋办呀?

现在还有这样的问题

在开发安卓应用时,隐私政策合规性是一个非常重要的问题,尤其是在处理用户敏感信息(如传感器数据、IMEI、MAC地址等)时。根据Google Play的政策和中国的《个人信息保护法》(PIPL)等相关法律法规,应用在收集用户信息之前,必须明确告知用户并获得用户的同意。

问题分析

  1. 提前读取传感器列表:在用户同意隐私政策之前,应用不应该主动收集任何用户信息,包括传感器数据。这种行为可能会被视为违反隐私政策,尤其是在用户未明确同意的情况下。

  2. uni-push 2(个推SDK)提前收集IMEI、MAC地址和软件安装列表:个推SDK可能会在应用启动时收集设备信息(如IMEI、MAC地址、软件安装列表等),但根据隐私政策的要求,这些操作应该在用户同意隐私政策之后进行。如果在用户未同意的情况下收集这些信息,可能会导致应用被下架或面临法律风险。

解决方案

为了避免隐私政策合规性问题,建议采取以下措施:

  1. 延迟信息收集:在用户同意隐私政策之前,应用不应主动收集任何敏感信息(如传感器数据、IMEI、MAC地址等)。可以在用户同意隐私政策后,再进行相关信息的收集和处理。

  2. 隐私政策弹窗:在应用启动时,立即弹出隐私政策弹窗,确保用户在同意隐私政策后再进行后续操作。弹窗应明确告知用户应用将收集哪些信息,以及如何使用这些信息。

  3. 个推SDK的合规使用:对于个推SDK,确保在用户同意隐私政策后再进行初始化,避免在未同意的情况下收集设备信息。可以通过以下方式实现:

    • 在用户同意隐私政策后,再调用个推SDK的初始化方法。
    • 在应用的onCreate方法中,先弹出隐私政策弹窗,等待用户同意后再进行SDK的初始化。
  4. 权限申请:对于需要访问传感器、设备信息等敏感权限,确保在用户同意隐私政策后再申请相关权限。

示例代码

以下是一个简单的示例,展示如何在用户同意隐私政策后再初始化个推SDK:

// 在应用启动时弹出隐私政策弹窗
onLaunch() {
  this.showPrivacyPolicy();
},

methods: {
  showPrivacyPolicy() {
    uni.showModal({
      title: '隐私政策',
      content: '请仔细阅读并同意我们的隐私政策。',
      confirmText: '同意',
      cancelText: '不同意',
      success: (res) => {
        if (res.confirm) {
          // 用户同意隐私政策后,初始化个推SDK
          this.initGeTuiSDK();
        } else {
          // 用户不同意隐私政策,退出应用或采取其他措施
          uni.showToast({
            title: '您需要同意隐私政策才能继续使用应用',
            icon: 'none'
          });
          // 可以选择退出应用或跳转到其他页面
        }
      }
    });
  },

  initGeTuiSDK() {
    // 初始化个推SDK的代码
    // 例如:GeTuiSdk.init({...});
  }
}
回到顶部