当从设备请求时,这会给出undefined
:
originalRequest.data.device.uniqueDeviceId
originalRequest.data.user.userId
给出的用户 ID 与getUser().userId
相同,这不是唯一的。每次用户都会更改此 ID。
哪个是用户标识用户的唯一 ID?
谷歌从未记录过该uniqueDeviceId
,并被删除,因为它可用于在未经用户许可的情况下泄露信息。
您通过getUser()
或通过 JSON 定义的userId
是唯一标识用户的正确方法。
通常,它在调用之间是一致的,但是,在许多情况下它会发生变化。尤其是:
- 如果用户使用扬声器,但与该设备的任何已注册语音配置文件不匹配(或者设备上没有注册的语音配置文件)。在这些情况下,用户是"匿名的",系统必须以这种方式对待他们的 ID。
- 如果用户重置操作的标识符(与删除网络 Cookie 的方式相同)。
- 如果用户在设备上重置其帐户。
- 如果用户在 30 天内不使用您的操作。
更新
匿名用户 ID 已被弃用,将于 2019 年 5 月删除。如果您需要用户的 userId,则可以使用帐户关联,也可以自己生成帐户并将其存储在用户存储对象中。这些都没有上面概述的相同限制。