V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
linuxchild
V2EX  ›  Android

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

  •  
  •   linuxchild · 2017-10-10 10:55:53 +08:00 · 23374 次点击
    这是一个创建于 2605 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前的 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 可由用户重置。

    13 条回复    2017-10-16 19:43:13 +08:00
    20015jjw
        1
    20015jjw  
       2017-10-10 10:56:55 +08:00 via iPhone
    好奇 有什么文档关于这个变化的么?
    VYSE
        2
    VYSE  
       2017-10-10 11:01:13 +08:00
    证书相同 ID 一样啊
    后面肯定有恶心 app 申请用户权限拿其他特征
    fairyStage
        3
    fairyStage  
       2017-10-10 11:06:10 +08:00 via Android
    谷歌不封,拿 IMEI 不休,就这样
    linuxchild
        4
    linuxchild  
    OP
       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
        5
    linuxchild  
    OP
       2017-10-10 11:11:20 +08:00
    @fairyStage 但是 IMEI 其实并不特别好用,也不是一个好的实践
    honeycomb
        6
    honeycomb  
       2017-10-10 12:46:46 +08:00 via Android
    @linuxchild 参照 ios,app 本来就不应该知道设备的持久识别符号,android 8 的做法(对于一个应用而言卸载后重装 ssaid 不会变化),开发者已经需要感恩戴德了。

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

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

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

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

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

    地图方面有一个叫 bmap 的第三方应用,通过百度 /高德的 SDK 写的一个简单版本。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3261 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 12:39 · PVG 20:39 · LAX 04:39 · JFK 07:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.