首页 > 解决方案 > Firebase 推送通知 iOS:未注册。为什么?

问题描述

我在 Android 端的 React Native 中实现了 Firebase 推送通知:一切正常。

在iOS方面我得到了NotRegistered,为什么?

那是回应:

数据:通知{
  deviceToken: 'diTk7DNPS9KsRTPSFlpSoU:APA91bEaNxB9W0g6m8487W37qTgUYmqGA2GfN1tPbwI1q60WAsHFrCdhbYzEZO-q5lfY1s3epNsSKhHpxO-OLYMGED3ZeYi_f7DHUrOpxMgC0CKQE7KJCCluZwk6-kfqb3
  标题:'扩展会话',
  消息:'请延长您的停车会话即将到期'
}
{"multicast_id":8523782171183643556,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"NotRegistered"}]} 出了点问题!

标签: iosnode.jsfirebasereact-nativefirebase-cloud-messaging

解决方案


文档中所述,如果您正确注册了 iOS 令牌,有一些可能的原因:

现有注册令牌可能在多种情况下不再有效,包括:

  • 如果客户端应用程序取消注册 FCM。
  • 如果客户端应用程序自动取消注册,如果用户卸载应用程序可能会发生这种情况。例如,在 iOS 上,如果 APNs 反馈服务报告 APNs 令牌无效。
  • 如果注册令牌过期(例如,Google 可能决定刷新注册令牌,或者 iOS 设备的 APNs 令牌已过期)。
  • 如果客户端应用程序已更新但新版本未配置为接收消息。

对于所有这些情况,请从应用服务器中删除此注册令牌并停止使用它来发送消息。


推荐阅读