Swift - IOS 中 Data 类型的 deviceToken 和可选 String 类型的 Fir InstanceID 令牌有什么区别?

Mus*_*der 5 ios firebase swift firebase-cloud-messaging

我是 Firebase 云消息传递和推送通知的新手。

当我们注册推送通知时,会调用此方法

    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
    {
        // deviceToken is received
    }
Run Code Online (Sandbox Code Playgroud)

然后,为了发送推送通知,我们使用这行代码来获取令牌:

    let myToken = FIRInstanceID.instanceID().token()!
Run Code Online (Sandbox Code Playgroud)

现在我想问一下这些token有什么区别?

seg*_*ggy 2

实例ID:

实例 ID API 允许您将实例 ID 与 Android 或 iOS 应用程序集成。实例 ID 为应用程序的每个实例提供唯一标识符,以及验证和授权操作的机制,例如通过 Google Cloud Messaging 发送消息。点击更多

设备ID:

设备令牌是 iOS 设备的 Apple 推送通知系统的标识符。Apple 为每个应用程序(iOS 7 及更高版本)分配一个设备令牌,用作发送推送通知的唯一标识符。每个设备的每个应用程序都有两个设备令牌:一个用于开发,一个用于生产(临时或应用程序商店构建)。标记是 64 个十六进制字符。点击更多