通过 Firebase 推送通知

Push Notifications through Firebase

昨天 Google 宣布了一套新的 Firebase 工具,其中之一是通知,它能够将通知从服务器发送到使用我的应用程序的设备。

但是我们现在可以在用户收到新消息时通知他们吗?

如果没有,是否有解决方法?

查看文档,目前似乎无法自动执行此操作。这是使用另一台服务器 "manually" 完成它的可能方法:

  1. 为用户订阅自己的用户 ID

在android

FirebaseMessaging.getInstance().subscribeToTopic("InsertUserIDHere");

在IOS

[[FIRMessaging messaging] subscribeToTopic:@"/topics/InsertUserIDHere"];
  1. 设置一个外部服务器来检查每条发送的消息。发送消息时,服务器应创建一个包含收件人用户 ID 作为主题的通知。

查看 here 了解更多信息。

您可以向一组用户(针对特定 "topic")或单个设备(针对 Firebase 云消息传递令牌)发送消息。

要为设备订阅主题,请使用:

FirebaseMessaging.getInstance().subscribeToTopic("topicName");

获取设备令牌使用 (*1) :

FirebaseInstanceId.getInstance().getToken();

然后您可以使用 Firebase 通知 Web 控制台,或者如果您想从您的服务器发送消息,则可以使用 FCM 服务器 API。
参见:https://firebase.google.com/docs/cloud-messaging/downstream#sending_topic_messages_from_the_server


备注:

如果令牌尚不可用,

[1] getToken() 可以 return null。
您可以使用回调 onTokenRefresh() 在令牌可用时和令牌轮换时收到通知。
参见:https://firebase.google.com/docs/cloud-messaging/android/client#sample-register