通过 Firebase 推送通知
Push Notifications through Firebase
昨天 Google 宣布了一套新的 Firebase 工具,其中之一是通知,它能够将通知从服务器发送到使用我的应用程序的设备。
但是我们现在可以在用户收到新消息时通知他们吗?
如果没有,是否有解决方法?
查看文档,目前似乎无法自动执行此操作。这是使用另一台服务器 "manually" 完成它的可能方法:
- 为用户订阅自己的用户 ID
在android
FirebaseMessaging.getInstance().subscribeToTopic("InsertUserIDHere");
在IOS
[[FIRMessaging messaging] subscribeToTopic:@"/topics/InsertUserIDHere"];
- 设置一个外部服务器来检查每条发送的消息。发送消息时,服务器应创建一个包含收件人用户 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
昨天 Google 宣布了一套新的 Firebase 工具,其中之一是通知,它能够将通知从服务器发送到使用我的应用程序的设备。
但是我们现在可以在用户收到新消息时通知他们吗?
如果没有,是否有解决方法?
查看文档,目前似乎无法自动执行此操作。这是使用另一台服务器 "manually" 完成它的可能方法:
- 为用户订阅自己的用户 ID
在android
FirebaseMessaging.getInstance().subscribeToTopic("InsertUserIDHere");
在IOS
[[FIRMessaging messaging] subscribeToTopic:@"/topics/InsertUserIDHere"];
- 设置一个外部服务器来检查每条发送的消息。发送消息时,服务器应创建一个包含收件人用户 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