当前位置: 首页 > ds >正文

Android应用隐私合规:解决极光推送SDK提前收集WiFi信息问题

问题描述

我的应用在送审时被检测出以下问题:

  • 极光推送SDK在未经用户同意的情况下,读取WIFI的SSID
  • 获取了BSSID和MAC地址等敏感信息
  • 触发了ACCESS_FINE_LOCATION权限
    在这里插入图片描述

从具体违规日志来看:

违规详情:content=获取WiFi连接信息(含bssid):SSID: , BSSID: 02:00:00:00:00:00, MAC: 02:00:00:00:00:00...
callstack:android.net.wifi.WifiManager.getConnectionInfo:1677;cn.jiguang.bv.a.I:94;...

这些敏感信息涉及位置隐私,属于应用商店严格审核的部分。

SSID是什么及其用途

SSID(Service Set Identifier)就是我们常见的WiFi网络名称。极光推送SDK收集SSID主要用于:

  • 设备识别:通过网络信息帮助唯一标识设备
  • 推送优化:根据网络环境选择最佳推送通道
  • 数据分析:分析用户使用场景和网络环境

问题原因分析

这个问题的根本原因在于:极光推送SDK会在应用启动时自动执行初始化,并收集设备信息

我是在启动页这里去根据用户是否同意隐私条款的,调用JCollectionAuth.setAuth(context,boolean)的。看文档也没特殊说明啥内容。问了才知道,还必须在项目一启动就立马执行的Application中先调用JCollectionAuth.setAuth(context,false)禁止极光推送隐私权限。

极光SDK的官方人员解释说:“除了init外,其他极光接口(setbadge等)有可能导致sdk初始化”!即使我没主动调用任何极光相关方法,SDK可能也会自己偷偷"动起来"。

解决方案

  1. 关键步骤:在Application的onCreate方法中立即调用:

    JCollectionAuth.setAuth(context, false)
    

    这必须是应用启动时第一时间执行的代码之一,目的是告诉极光SDK不要初始化和收集信息

  2. 只有当用户同意隐私政策后,才能设置:

    JCollectionAuth.setAuth(context, true)
    

    然后再调用正常的初始化接口

  3. 在setAuth方法中,还可以添加额外代码来禁用SSID、BSSID和MAC地址读取:

    fun setAuth(context: Context?, auth: Boolean) {JCollectionAuth.setAuth(context, auth)// 禁用SSID、BSSID和MAC地址读取disableWifiAndMacAddressCollection(context)
    }
    
  4. 确保隐私政策中明确说明了极光SDK收集的信息内容。参考极光官方的隐私描述文档:https://docs.jiguang.cn/jpush/client/jghgzy_a_i_h

http://www.xdnf.cn/news/5129.html

相关文章:

  • 解决SVN更新时,提示“不知道这样的主机“问题
  • RDD的自定义分区器-案例
  • python可视化:北方城市客流变化分析2
  • 广西某建筑用花岗岩矿自动化监测
  • 鸿蒙开发:dialog库做了一些优化
  • daytona开源代码架构分析
  • CMD常见命令
  • Oracle非归档模式遇到文件损坏怎么办?
  • 力扣:轮转数组
  • WD5030L CC/CV模式DCDC15A高效同步转换器消费电子工业控制汽车电子优选择
  • 命名视图~
  • NOIP1999提高组.拦截导弹
  • 一周学会Pandas2 Python数据处理与分析-Pandas2数据排序操作
  • React 第三十八节 Router 中useRoutes 的使用详解及注意事项
  • OpenHarmony SystemUI开发——修改状态栏和导航栏的高度
  • Mamba 状态空间模型 笔记 llm框架 一维卷积
  • Android设备序列号获取方式全解析
  • 使用pyTorch 自然语言处理(NLP)知识库创建
  • 青少年编程与数学 02-019 Rust 编程基础 03课题、变量与可变性
  • Java中医门诊系统源码 中医诊所系统源码
  • Jenkins Maven 带权限 搭建方案2025
  • 什么是移动设备管理(MDM)
  • el-menu 折叠后小箭头不会消失
  • AKS 支持 Kata Container容器沙盒 -预览阶段
  • 峰与谷系列题
  • 深入解析多线程与多进程:从理论到Python实践
  • 【LLaMA-Factory】使用LoRa微调训练DeepSeek-R1-Distill-Qwen-7B
  • 深入解析WPF中的3D图形编程:材质与光照
  • 关于fastjson与fastjson2中toJava操作的区别
  • SD二轮省集总结