安卓 8.0 的 Android ID 发生了变化,有什么应对方式么?

2017-10-10 10:55:53 +08:00
 linuxchild

之前的 Android 是定值,即不同应用获取到的是一个值,除非有重置或者 root 等行为;

现在变为了各 app 获取到的值为不同的,那么现在自家公司的不同产品(不需要登陆),想做一下链接查询(比方说查询有多少交叉用户),有什么好的处理办法么?

提前感谢各位的解答。

以下是谷歌对此变化的一个说明:

隐私性 Android 8.0 对平台做出了以下与隐私性有关的变更。

现在,平台改变了标识符的处理方式。 对于在 OTA 之前安装到某个版本 Android 8.0 ( API 级别 26 )的应用,除非在 OTA 后卸载并重新安装,否则 ANDROID_ID 的值将保持不变。要在 OTA 后在卸载期间保留值,开发者可以使用密钥 /值备份关联旧值和新值。 对于安装在运行 Android 8.0 的设备上的应用,ANDROID_ID 的值现在将根据应用签署密钥和用户确定作用域。应用签署密钥、用户和设备的每个组合都具有唯一的 ANDROID_ID 值。因此,在相同设备上运行但具有不同签署密钥的应用将不会再看到相同的 Android ID (即使对于同一用户来说,也是如此)。 只要签署密钥相同(并且应用未在 OTA 之前安装到某个版本的 O ),ANDROID_ID 的值在软件包卸载或重新安装时就不会发生变化。 即使系统更新导致软件包签署密钥发生变化,ANDROID_ID 的值也不会变化。 要借助一个简单的标准系统实现应用获利,请使用广告 ID。广告 ID 是 Google Play 服务针对广告服务提供的唯一 ID,此 ID 可由用户重置。

23364 次点击
所在节点    Android
13 条回复
20015jjw
2017-10-10 10:56:55 +08:00
好奇 有什么文档关于这个变化的么?
VYSE
2017-10-10 11:01:13 +08:00
证书相同 ID 一样啊
后面肯定有恶心 app 申请用户权限拿其他特征
fairyStage
2017-10-10 11:06:10 +08:00
谷歌不封,拿 IMEI 不休,就这样
linuxchild
2017-10-10 11:09:04 +08:00
@20015jjw 上面补充了一下,但是还没补充完就说我不能编辑了…

对安卓标志符的使用建议:
https://developer.android.google.cn/training/articles/user-data-ids.html#tenets_of_working_with_android_identifiers

隐私变化的一个说明:
https://developer.android.com/about/versions/oreo/android-8.0-changes.html

http://developers.googleblog.cn/2017/04/android-o.html


@VYSE 啊啊啊,忽略了这个。感谢感谢
linuxchild
2017-10-10 11:11:20 +08:00
@fairyStage 但是 IMEI 其实并不特别好用,也不是一个好的实践
honeycomb
2017-10-10 12:46:46 +08:00
@linuxchild 参照 ios,app 本来就不应该知道设备的持久识别符号,android 8 的做法(对于一个应用而言卸载后重装 ssaid 不会变化),开发者已经需要感恩戴德了。

其实 ssaid 相当于一个更强的 vendorId

@fairyStage appops 大法封之,如果封不住就换 xposed,再搞不定就不用了。
linuxchild
2017-10-10 13:17:22 +08:00
@honeycomb 嗯,是这样的;看了看广告 ID 由于墙也不能使用…
honeycomb
2017-10-10 13:27:42 +08:00
@linuxchild 从结果上说,对于运营者而言不会比 ios 更坏。
linuxchild
2017-10-10 14:43:45 +08:00
@honeycomb 这倒是
woyaojizhu8
2017-10-15 20:26:28 +08:00
@honeycomb “再搞不定就不用了”,这样真的只能当功能机来用了。阻止应用获取设备唯一标识符现在真是没有万全之策。按照现在的应用商和用户的技术实力对比,只要有一个漏洞没堵上,就全输了。
honeycomb
2017-10-15 20:59:14 +08:00
@woyaojizhu8

““再搞不定就不用了”,这样真的只能当功能机来用了”
其实完全不使用国产软件,或者弱一点,完全不使用以国内用户为受众的国产软件就不会遇到此类问题了。
毕竟连最难缠的微信也是可以不用的。

"只要有一个漏洞没堵上,就全输了"
尽力而为,至少要能说服自己:我确实在用我的设备
这事也有很好的退路:iOS,因为它压根不提供唯一识持久别码的 API,那些试图滥用私有 API 的也被下架了
woyaojizhu8
2017-10-16 18:18:12 +08:00
@honeycomb 可能也只有像你这样的极少数人能几乎完全不使用国内软件。我如果不用微信,等于放弃工作;如果不用百度地图、高德地图,等于放弃外出。我已经尽力了,实在是没有办法。没装支付宝客户端和滴滴客户端的我在同龄人里面已经是原始人一样的存在了。
iOS 的话,苹果一家独大而已。我是不愿意接受一个必须要注册帐号才能使用的系统的。
honeycomb
2017-10-16 19:43:13 +08:00
@woyaojizhu8

尽力就好。
如此当数字难民的好处会慢慢体现的

地图方面有一个叫 bmap 的第三方应用,通过百度 /高德的 SDK 写的一个简单版本。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/396391

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX