android 可以像 ios keychain 那样追踪用户吗

2022-02-26 14:38:36 +08:00
 thisismr2

请教一下:

ios 可以通过 keychain 追踪用户。 Android (仅官方 ROM 或 Google ROM 并且是最新版, 应该 12)有没有类似方案。‘

这里追踪的定义(或相似定义)是:

  1. 安装 app
  2. 打开 app
  3. app 在某个地方做个标记 xxx
  4. 卸载 app
  5. 再次安装 app
  6. 打开 app
  7. app 会取到之前的 xxx 标记

就目前来看 ios 不会限制 keychain 的写入。 如果 android 做不到的话,准备考虑换 android

9117 次点击
所在节点    Android
54 条回复
lisongeee
2022-02-26 14:44:54 +08:00
如果 app 申请了外部存储空间读写权限就可以
dingwen07
2022-02-26 14:48:27 +08:00
iOS 你换了手机理论上都能追踪到,keychain 似乎会同步,app 也可以用 iCloud 同步来追踪

为了这个换安卓意义不大,安卓理论上确实不能,但是应该是有奇技淫巧能追踪到,比如通过手机里安装的其他 app 采用的广告 sdk 什么的,或者你给了内置存储 /照片权限理论上也可以,在照片元数据里写追踪信息那群家伙也不是干不出来
thisismr2
2022-02-26 15:00:15 +08:00
@lisongeee 这个应该会弹出提示用户授权 对吧
thisismr2
2022-02-26 15:05:14 +08:00
@dingwen07
> 比如通过手机里安装的其他 app 采用的广告 sdk 什么的
这个我不太懂,或者和 ios 也一样?

> 或者你给了内置存储 /照片权限理论上也可以
Android 内置存储,卸载 app ,不会像 ios 那样也清除吗
照片是不是也可以指定部分照片授权,像现在的 ios 那样
dingwen07
2022-02-26 15:08:31 +08:00
@thisismr2 #4
安卓 SDK 30 版本后,只能获取到图片权限,能读取全部图片,部分图片授权功能似乎要 Android 13
SDK 30 以下,可以申请文件访问权限,删除 app 的时候不会被删掉
thisismr2
2022-02-26 15:11:30 +08:00
@dingwen07
谢谢。绝大部分都会需要存储权限,看来 android 这条路也走不通
0o0O0o0O0o
2022-02-26 15:16:11 +08:00
https://www.google.com/search?q=%E7%A7%BB%E5%8A%A8%E7%AB%AF+%E8%AE%BE%E5%A4%87%E6%8C%87%E7%BA%B9+%E6%8E%A5%E5%85%A5

利用很多奇技淫巧尽可能地收集特征结合大数据计算唯一标识,有很多专业人士会去想办法适配新版本,所以你如果完全信任机制还是挺被动的。
icyalala
2022-02-26 15:37:11 +08:00
iOS keychain 确实可以用于追踪,的确是有问题,但这不是追踪唯一途径。
现在各种 SDK 都用设备指纹的方案追踪,重置设置后仍然保持不变这是基本要求,所以换 Android 也避免不了。举个例子: https://cloud.tencent.com/developer/article/1685044
Osk
2022-02-26 15:57:59 +08:00
居然觉得 Android 隐私做的好???

等 Android 100 吧... 看看 /sdcard 那一堆堆莫名奇妙的文件, 不给存储权限? 我直接退出.
还有一堆 App 集成的 "大数据" SDK, 简直不能让人信服.
bkmi
2022-02-26 16:22:30 +08:00
Android 上那可太多了,OAID 、数盟 ID 、还有各大厂自己搞的未公开的各种 ID ,不需要申请任何权限,完全黑盒。
mxalbert1996
2022-02-26 16:25:59 +08:00
@Osk 你要不举一个不给存储权限就退出的例子?
nicevar
2022-02-26 18:08:53 +08:00
@bkmi 你说的这些在 30 以上都废了,什么联盟都废了
WhatTheBridgeSay
2022-02-26 18:09:07 +08:00
Android 本身是没有类似 keychain 的东西,但是安卓可能会有系统级组件提供某些如楼上所说的国产厂抱团自创的 OAID 等,但是从另一方面来说如果 App 想要追踪就势必要找一个通用且容易实现的方法,iOS 很简单可以直接用 keychain ,但是 Android 上情况就比较复杂不会单单只依赖一种
nicevar
2022-02-26 18:10:27 +08:00
@Osk 我觉如果你不了解就没必要胡说一通,现在 sdk 在 30 以上唯一标识就做不到了,用户一刷机或者重置手机应用没办法生成不变的 uuid 。
nicevar
2022-02-26 18:21:13 +08:00
以前的最可靠的方案是请求电话权限去读取 PhoneID ,但是现在这个阻碍越来越多,先不说用户不给权限,各大联盟更新的 sdk 后也基本上放弃了这个做法,如果编译打包在 sdk 版本 30 以上,请求外部存储权限都麻烦。
现在个人软件做激活管理成问题了,唯一标识基本上也就是个临时值了,以前还有各种歪门邪道,随着 google 更新基本上把路都堵死了。
zoharSoul
2022-02-26 20:01:16 +08:00
@dingwen07 #5 错误回答
exploreexe
2022-02-26 21:20:29 +08:00
按照我对安卓的理解,安卓的黑魔法比 iOS 要多太多了。。。
bkmi
2022-02-26 23:06:34 +08:00
@nicevar 各大联盟活的好好的,刷机没试过,至于卸载重装,Xposed hook 各种 ID ,数盟都生成同一个 ID ,Android 12 上测试的
nicevar
2022-02-26 23:38:57 +08:00
@bkmi 各大联盟活得好好的与生成不变的 uuid 有什么关系?你这是什么理解能力,你能去帮每个用户 Xposed hook?那我不直接请求电话权限就完事了假定用户全同意不就得了,还用得着这么费劲,真不知道你怎么想的。
tanranran
2022-02-26 23:49:38 +08:00
OAID 了解一下

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

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

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

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

© 2021 V2EX