无法在iOS

时间:2017-08-22 10:05:11

标签: ios firebase swift3 push-notification firebase-cloud-messaging

在我的应用中,我使用 FCM推送通知,使用 swift3 。当应用程序安装在设备中时,某些设备会收到通知,有些设备在推送时不会得到通知。当我们更新新版本而不删除应用程序然后无法获取通知但如果删除应用程序并重新安装它然后我们收到通知。我的问题是

  1. 为什么某些设备无法收到通知。所有设备FCM令牌都成功存储到服务器中。我们重新检查一下。
  2. 如何知道FCM令牌何时从后端到期?
  3. 我们是否可以在每次启动应用时获得强制获取FCM令牌?
  4. 为什么某些设备有"无效注册令牌"和#34;令牌未注册"问题?
  5. 感谢。非常感谢帮助!

2 个答案:

答案 0 :(得分:0)

您可以使用App委托中的FIRMessagingDelegate协议检查令牌是否已更新。使用didRefreshRegistrationToken方法获取更新后的令牌

func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String) {
  print("Firebase registration token: \(fcmToken)")
}

如果令牌已更新,请将当前令牌替换为更新后的令牌。

答案 1 :(得分:0)

如何知道FCM令牌何时从后端到期?

  

FCM令牌不会过期。   它会在以下情况下发生变化:

     
    

该应用删除了实例ID。

         

该应用已在新设备上恢复。

         

用户卸载/重新安装应用程序。

         

用户清除应用数据。

  

我们是否可以在每次启动应用时获得强制获取FCM令牌?

print(FIRInstanceID.instanceID().token())

为什么有些设备无法收到通知。所有设备FCM令牌都成功存储到服务器中。我们重新检查一下。

按照以下答案,一致注册具有不同操作系统版本的设备以进行推送通知。

  

https://stackoverflow.com/a/41279265/2432338

希望这可以帮助你!!