繁体   English   中英

Firebase 中的应用实例 ID 和实例 ID 有什么区别?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM