通过Firebase推送通知

时间:2016-05-19 17:56:45

标签: push-notification firebase firebase-cloud-messaging firebase-notifications

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

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

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

2 个答案:

答案 0 :(得分:5)

查看文档,目前似乎无法自动生成。以下是使用其他服务器“手动”完成此操作的可能方法:

  1. 为用户订阅自己的用户ID
  2. 在android中

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

    在IOS中

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

答案 1 :(得分: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