[英]What is the difference between app instance id and instance id in Firebase?
Firebase 中的应用实例 ID和实例 ID有什么区别?
我们可以通过以下方式分别获得两个不同的值:
print("app instance id: \(Analytics.appInstanceID())")
InstanceID.instanceID().getID { (idString, error) in
print("instance id: \(idString)")
}
它们似乎具有相同的行为,即在卸载并重新安装应用程序后它们会有所不同。 那为什么 Firebase 需要有两个属性呢? 我看不出与文件的区别。
示例值:
InstanceID.instanceID().getID()
: fPuHFoJSGEJYsguI_2IPXF
Analytics.appInstanceID()
:8F1C7C2C9A554DECAF27DB6AEFF5B301
假设您在应用程序中使用 Firebase Analytics(否则您将无法使用Analytics.appInstanceID()
方法)。 从文档中,Firebase Analytics object 是:
顶级 Firebase 分析 singleton 提供记录事件和设置用户属性的方法。
此分析 singleton 具有与之关联的 ID,该 ID 对应用程序的实例是唯一的。 即:如果应用程序被卸载并重新安装,将创建一个新的 singleton 实例,并且 ID 将更改。 此 ID 称为appInstanceId
。
您所说的 InstanceID 是与您的应用程序中的 Firebase 安装关联的 ID。 从文档:
每个配置的 FirebaseApp 都有一个对应的单个安装实例。 class 的实例提供对 FirebaseApp 安装信息的访问以及删除它的能力。 FirebaseApp.name 和 FirebaseApp.options.googleAppID 的 Firebase 安装是唯一的。
Firebase 安装服务及其关联 ID 用于许多 Firebase 服务,而不仅仅是分析。 请参阅 此处获取列表。
可能存在您正在使用某些 Firebase 服务的情况,因此将使用实例 ID(可能仅由 SDK 在后台使用),但您没有使用 Z035489FF8D092741943E4A8324 的所有appInstanceId
。
简而言之, appInstanceId
是与您应用中的 Firebase Analytics 实例关联的 ID。 而InstanceID
(或安装 ID)涵盖更广泛的 scope 并用于各种 Firebase 服务,如果需要,可用于标识和身份验证令牌生成。
请注意,InstanceID API 已弃用。 请改用FirebaseInstallations ( 这个适用于 Android)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.