Android多用户支持(在4.2中新增)对服务器端数据模型(例如android_id)的影响。

39
谷歌刚刚发布了Android 4.2,其中包括支持在单个设备上使用多个用户配置文件的功能:http://developer.android.com/about/versions/android-4.2.html#MultipleUsers。谷歌表示这对应用程序是透明的,但我认为它可能会影响用于识别设备、用户和安装的数据模型。一个问题是使用android_id。上面链接页面上的建议是使用其他方法之一来识别设备,而不是android_id,但我认为android_id非常广泛地用于此目的。我的主要问题是:每个用户配置文件是否有自己的android_id,以及其含义是什么?当安装新操作系统或进行硬重置时,会生成新的android_id - 创建新用户配置文件时是否会生成新的android_id(这是问题#1)?我认为可能不会,因此某些应用程序可能会为相同的android_id安装多次,这可能会干扰某些应用程序的服务器端数据模型。
无论如何,根据您对设备的识别方式,您现在可能会发现特定应用程序可以在单个设备上安装多次。另一个问题是用户。假设每个配置文件可以拥有任意数量的Google帐户,但是每个配置文件必须与Play商店中的一个Google帐户关联。我认为您的应用程序也可能具有使用相同设备(通过android_id)和相同用户进行多个同时安装的功能。我认为多个配置文件功能的常见用途将是让单个用户在其手机上拥有家庭和工作配置文件-通常使用不同的Google帐户,但在某些情况下,他们可以在每个配置文件中使用相同的Google帐户(例如,这样他们就不必支付两次)。另外,这里是类似的讨论,涉及新的ARC平台(Chrome上的Android)。请注意-ARC上的行为与Android上的行为不同。
2个回答

39

虽然没有人回答我的问题,但我现在已经有机会亲自测试了4.2版本。

答案是每个配置文件都有其自己的android_id。

仔细想想,这可能是最合理的,并且会导致最少的问题。这应该会使大多数系统将设备上的不同配置文件视为不同的设备——这实际上不应该成为问题。唯一的问题是那些正确识别设备(例如基于wifi或bt mac地址、序列号或IMEI)并期望单个设备上的多个android_id表示该设备上顺序安装的操作系统的系统。 (相当反常地,错误更安全。)


4
有人指出文档与N7上4.2.1的行为相矛盾。他们在这里创建了一个问题。 - Tom
2
抱歉,您能澄清一下个人资料是基于用户的吗?如果是这样,您是否知道同一用户在另一台设备上是否会产生相同的ANDROID_ID? - Wayne Phipps
1
它不是基于用户的 - 每个“配置文件”可以有多个用户帐户。不,您不应在两个不同的设备上获得相同的ANDROID_ID。 - Tom

13

是的,每个用户配置文件都有自己的ANDROID_ID。现在这已经在这里有所记录:

注意:当设备有多个用户(适用于某些运行Android 4.2或更高版本的设备)时,每个用户都会出现为完全独立的设备,因此ANDROID_ID值对每个用户都是唯一的。

但要注意,制造商已知会出现实现ANDROID_ID的错误。例如,Motorola Droid2 返回相同的ANDROID_ID值给每个设备。因此,依赖ANDROID_ID来唯一标识用户配置文件或设备可能不可靠


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接