被Google Play下架刷爆朋友圈:聊聊SDK采集数据的秘密

简介:

这两天,朋友圈里都在转载有 APP 被 Google Play 下架一事,也许因为本人朋友圈内从事移动互联网数据行业以及各企业开发者较多,此事被炒得沸沸扬扬。其实可以看出大家一直在讨论的仍是移动互联网圈的一个老话题:用户数据隐私与SDK收集用户数据的安全性。

其实用户数据隐私以及SDK收集用户数据这两方面,两大应用商店官方并没有明确公示,哪些数据属于隐私数据,SDK收集用户什么数据才合理。大多数都是我们通过多年服务于众多开发者,协助开发者让应用更快上线的经验积累而作出的判断,那么今天我想在这里和圈里人一同聊聊第三方SDK中都有哪些“私货”,也当是做个知识普及,让开发者和用户都清楚了解行业的红线在哪里、自身的隐私如何保护。

首先简单提下引发业内再次对隐私数据关注的起因。25日,一位开发者收到Google Play邮件,已将其开发并上线的APP进行了下架处理,原因是其使用的一家第三方广告监测SDK在未经用户允许的情况下收集用户隐私数据,获取用户设备中全部已经安装应用列表。再多详细内容有想了解的可自行搜索,不是本文重点。

目前市场上SDK采集的方式

目前移动互联网行业内SDK采集数据的方式有两种:一是开发者主动获取,通过android或iOS提供的系统接口来获得,并且需要声明访问权限,比如:imei的获取,需要声明"android.permission.READ_PHONE_STATE"允许获得移动设备状态信息,然后通过调用系统接口实现。

二是开发者主动上传数据,通过SDK提供API接口,调用接口通过传递参数的形式上传用户数据,比如【友盟+】统计SDK会提供自定义事件接口(onEvent(Contextcontext, String id, HashMap<String,String> m, long value))、错误信息采集接口(reportError(Context context, String error) )。开发者需要在代码中适当的位置主动调用这些接口来上传数据。通常开发者主动上传的数据主要是用户行为数据,为了统计和分析用户在APP中的操作习惯,方便开发者做精细化运营。

SDK会采集哪些与服务无关的数据,目的是什么?

1、采集用户蓝牙信息(名称、状态、扫描模式等),采集已经成功配对的蓝牙设备信息。蓝牙信息采集目的是为了做设备识别使用,而采集成功配对的蓝牙设备信息则是为了获得与移动设备通过蓝牙通信的另一移动设备信息。单独的蓝牙信息采集由于重名现象较多,不会对用户产生很大的隐私影响。而后者采集配对信息则完全侵犯了用户隐私,同时也泄露了另一移动设备的相关信息。安全危险级别:中。

2、采集用户传感器信息。常见的用户设备传感器有:加速度传感器、环境光传感器、距离传感器、磁力计传感器、平衡传感器、震动传感器等。SDK采集这类用户信息在我看来大多是为了充实数据库数据量,当然通过这类信息也可以判断移动设备是否为真实移动设备,但极少有使用。这类数据的采集对于用户隐私安全的侵害影响不大,安全危险级别:低。

3、采集用户移动设备上已经安装的应用信息、安装列表。这个一定要好好谈一下,这类用户信息的采集可以说比较无底线。通过采集这类信息可以清楚了解用户设备中各类APP应用的信息,若数据量庞大,即可推算出每款APP应用的市场占有率情况、各类竞品APP的情况。对于众多互联网行业而言,这种信息的采集无疑是触及了道德底线。

同时也可以通过APP应用列表信息看到设备用户的喜好,侵犯用户隐私。例如一个设备用户安装了某类同性交友APP,那就意味着这种极其隐私的信息将被泄露,造成对用户的隐私侵害。安全危险级别:极高。

4、采集移动设备正在运行或最近运行的程序任务信息。通过采集这类信息可以清楚了解设备中其他应用的日启动次数、日启动时长等,与采集用户移动设备上安装应用信息一样都属于侵犯用户隐私、触及互联网行业底线一类。安全危险级别:高。

5、采集用户移动设备账户信息,如google账户。这类数据的采集可以获取用户账户列表,将移动设备信息与用户账号关联,对设备进行唯一标识。采集如此数据带来的风险也显而易见,若用户账号被泄露、被克隆,那对于用户产生的损失可能是利益上的、更甚是生命上的。所以此类数据的采集对用户隐私侵害极大,安全危险级别:极高。

以上给大家列出了目前移动互联网行业SDK“私货”乱象的几类,如果APP不想被第三方SDK“私货”影响,目前可以解决的方法有两种:一是要求第三方修改SDK,二是换一家干净的。

应用商店的隐私政策

最后,根据【友盟+】多年服务开发者的经验积累,给大家梳理下几大应用商店对于APP发布的隐私政策。如Google Play、 App Store,都要求凡涉及个人信息及敏感信息的,必须提供隐私权政策,以及任何形式的应用内披露声明,以及完整说明您的应用会收集、如何使用、分享和处理用户数据。但一般来说,这两大应用市场对于在用户不知情的情况下采集获取用户的“账户信息”、“传感器信息”、“蓝牙信息”、“NFC信息”、“进程扫描信息“以及”应用安装信息“等是严格禁止的。一旦发现APP中有这样的行为存在,APP下架处理是必然的结果,更有甚之会封停开发者账号。所以开发者要充分重视对用户的告知义务,包括将第三方SDK的数据采集信息,也应列入APP的用户隐私政策条款中。这一点不用担心有什么副作用,只要合理合法地披露,无论是应用商店,还是现行国家法律都会支持的。

经验之谈,希望各开发者能够看清移动互联网中的是与非、利与弊,共同维护和建立健康的互联网环境。



本文出处:畅享网
本文来自云栖社区合作伙伴畅享网,了解相关信息可以关注vsharing.com网站。
目录
相关文章
|
4月前
|
编解码 iOS开发 开发者
App上架Apple App Store和Google Play流程
App上架Apple App Store和Google Play流程
118 2
|
7月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
2612 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
7月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
237 0
|
4月前
|
监控 Java 开发工具
【事件中心 Azure Event Hub】Event Hub Java SDK的消费端出现不消费某一个分区中数据的情况,出现IdleTimerExpired错误消息记录
【事件中心 Azure Event Hub】Event Hub Java SDK的消费端出现不消费某一个分区中数据的情况,出现IdleTimerExpired错误消息记录
|
4月前
|
Android开发
解决Flutter上架Google Play提示Version code 1 has already been used. Try another version code.
解决Flutter上架Google Play提示Version code 1 has already been used. Try another version code.
72 3
|
4月前
|
开发工具 Android开发
上架Google Play报错:For new apps, Android App Bundles must be signed with an RSA key.
上架Google Play报错:For new apps, Android App Bundles must be signed with an RSA key.
128 1
|
4月前
|
固态存储 Java 网络安全
【Azure Developer】使用Java SDK代码创建Azure VM (包含设置NSG,及添加数据磁盘SSD)
【Azure Developer】使用Java SDK代码创建Azure VM (包含设置NSG,及添加数据磁盘SSD)
|
4月前
|
安全 Java Android开发
Android 14适配Google play截止时间临近,适配注意点和经验
本文介绍了Android 14带来的关键更新,包括性能优化、定制化体验、多语言支持、多媒体与图形增强等功能。此外,还强调了适配时的重要事项,如targetSdkVersion升级、前台服务类型声明、蓝牙权限变更等,以及安全性与用户体验方面的改进。开发者需按官方指南更新应用,以充分利用新特性并确保兼容性和安全性。
296 0
|
5月前
|
JSON Java Serverless
函数计算产品使用问题之如何使用Go SDK从HTTP上下文中提取JSON数据
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
5月前
|
分布式计算 Java 调度
MaxCompute产品使用合集之使用Tunnel Java SDK上传BINARY数据类型时,应该使用什么作为数据类字节
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。

热门文章

最新文章