Firebase云消息传递(FCM)注册令牌服务器端验证

时间:2017-11-02 13:58:02

标签: android ios http push-notification firebase-cloud-messaging

我正在更新后端服务,该服务通过 Firebase云消息传递(FCM) HTTP API向iOS和Android设备发送推送通知。

我注意到我们正在使用legacy "HTTP Server Protocol",现在我正在尝试将我们的服务移植到"FCM HTTP v1 API"

发送通知,在先前的协议版本响应中,有some error messages(请参阅“未注册的设备”)以识别过期的注册令牌。现在我收到一个带有“name”字段的回复,其中包含一个神秘的“message_id”:

{ "name" : "projects/{project_id}/messages/{message_id}" }

我甚至尝试向非常旧的令牌/设备发送一些通知,但没有收到任何错误。

  • 如何检测无法正常工作的注册令牌 再使用当前版本的API?
  • 是否有关于可能的“发送”API错误响应的文档?
  • Bonus:什么时候发布了当前的“FCM HTTP v1 API”?

我也在考虑在时间或应用程序使用基础上过期令牌。

提前致谢。

1 个答案:

答案 0 :(得分:2)

文档说,当请求成功时,响应包含消息的实例。

https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages/send

当我们想要读取响应时,当令牌不再可用时,我们会得到FileNotFoundException(在java中)。您可以通过删除应用程序来进行简单的测试。

“FCM HTTP v1 API”在上次Firebase开发峰会上宣布:https://firebase.googleblog.com/2017/10/whats-new-at-firebase-dev-summit-2017.html