3

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

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

如果没有,有没有办法实现这一目标?

4

2 回答 2

5

查看文档,这似乎目前无法自动实现。这是使用另一台服务器“手动”完成它的一种可能方法:

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

在安卓中

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

在IOS中

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

在这里查看更多信息。

于 2016-05-19T18:35:41.433 回答
1

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

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

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

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

FirebaseInstanceId.getInstance().getToken();

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


笔记:

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

于 2016-05-19T23:54:01.693 回答