📜  在检索发件人 ID“570496774835”的 FCM 令牌之前未设置 APNS 设备令牌.不会通过 APNS 传递对此 FCM 令牌的通知.请确保在设置 APNS 设备令牌后重新检索 FCM 令牌 (1)

📅  最后修改于: 2023-12-03 15:23:34.739000             🧑  作者: Mango

问题描述

在检索发件人 ID为 "570496774835" 的 FCM 令牌之前未设置 APNS 设备令牌,因此无法通过 APNS 传递通知到该 FCM 令牌。解决该问题需要确保在设置 APNS 设备令牌后重新检索 FCM 令牌。

解决方法
  1. 设置 APNS 设备令牌 在使用 FCM 进行 iOS 设备通知推送时,需要先为该设备获取 APNS 设备令牌。该令牌由 Apple 发布,并在用户设备上生成。获取 APNS 设备令牌的方法请参照 APNS 进行 iOS 设备通知推送

  2. 重新检索 FCM 令牌 获取 APNS 设备令牌后,需要将其与 FCM 令牌进行关联。为了将这些信息记录在 FCM 服务器上,可以使用 FirebaseInstanceId.getInstance().getInstanceId() 获取 FCM 令牌。确保在设置 APNS 设备令牌后重新检索 FCM 令牌,以便将设备与 FCM 服务关联起来。

FirebaseInstanceId.getInstance().getInstanceId()
        .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
    @Override
    public void onComplete(@NonNull Task<InstanceIdResult> task) {
        if (!task.isSuccessful()) {
            Log.w(TAG, "getInstanceId failed", task.getException());
            return;
        }

        // Get new Instance ID token
        String token = task.getResult().getToken();

        // TODO: Send token to server
    }
});
总结

通过设置 APNS 设备令牌并将其与 FCM 令牌进行关联,可以在使用 FCM 进行 iOS 设备通知推送时避免出现问题。同时,确保在设置 APNS 设备令牌后重新检索 FCM 令牌,并将其发送给服务器以便进行后续处理。