1

當前正在使用Firebase實時數據庫構建聊天應用程序。我以this Raywenderlich tutorial爲起點學習Firebase。使用Firebase實時數據庫發送針對聊天應用程序構建的推送通知

在我的情況下,我需要在有新消息時發送推送通知(同時也推送其他通知Firebase中的數據庫更改)。 我知道有FCM和Firebase通知發送推送通知,但它們只能從HTTP請求和外部觸發。

我不介意讓自己的Node.js服務器實現這一點,但我該如何做到這一點? 我如何跟蹤哪裏有新消息(數據庫中的更改)。

什麼是Firebase Admin SDK?我應該使用它嗎? 我新來Firebase和有點失落。有人能讓我走上正軌嗎?

+1

推薦閱讀:https://firebase.googleblog.com/2016/08/sending-notifications-between-android.html –

+0

@FrankvanPuffelen感謝博客。這很有用 – spaceMonkey

回答

0

您可以使用雲功能來執行此操作。

  1. 該函數在寫入實時數據庫「/ notifications/{uid}/something」時觸發。
  2. 該函數組成一條通過FCM發送的消息。
  3. FCM將通知消息發送給用戶的設備。

查看本教程here瞭解如何創建函數觸發器。

如果您需要了解如何發送通知消息,請參閱本教程here

0

你是對的,你應該使用管理服務器來做到這一點。

@AM_答案是一個好的開始:您將需要一個後臺任務來偵聽數據更改。但現在有更好的方法來做到這一點。

Firebase has a queue system,它允許您創建多個工作人員來處理後臺作業。 這裏是一個例子實現:https://github.com/mcdonamp/sanichat

而不是直接建立一個HTTP POST請求使用FCM,Firebase Admin Node.Js SDK確實提供了一個FCM的API。 Java版本還沒有。

最後,這裏是關於Admin SDK的nice Firebase team blog post

相關問題