我已經創建了一個使用Firebase實時數據庫和存儲的應用程序。我的應用允許用戶互相發送消息,但我不知道如何在用戶收到新消息時通知用戶。我將所有消息存儲在一個稱爲消息的節點中。然後我將消息關係存儲在稱爲「用戶消息」的不同節點中。如何監視「用戶 - 消息」節點以通知用戶他們有新消息?我熟悉觀察事件類型等,即:.Value和.ChildAdded,但我不知道如何觸發事件來發送用戶通知。當Firebase實時數據庫節點更新時發送推送通知
編輯:給了一點點clairity。
我已經創建了一個使用Firebase實時數據庫和存儲的應用程序。我的應用允許用戶互相發送消息,但我不知道如何在用戶收到新消息時通知用戶。我將所有消息存儲在一個稱爲消息的節點中。然後我將消息關係存儲在稱爲「用戶消息」的不同節點中。如何監視「用戶 - 消息」節點以通知用戶他們有新消息?我熟悉觀察事件類型等,即:.Value和.ChildAdded,但我不知道如何觸發事件來發送用戶通知。當Firebase實時數據庫節點更新時發送推送通知
編輯:給了一點點clairity。
就像你剛纔提到的那樣,只要添加了新的子項,每當有新消息添加到user-messages
和firebase
時,您都可以使用child_added
事件來監視事件處理程序。
ref.child('user-messages').on('child_added', (snapshot) => {
// Read the message and send notification here
})
您可能需要更新user-message
以及之後已處理,這樣你就沒有好下場,重複發送通知,您的應用程序重新啓動時。
我需要它在應用程序未運行或應用程序在後臺時提醒用戶。 –
這應該發生在服務器端。所以,如果應用程序沒有運行或在後臺運行,這並不重要。 –
我想我們可能會在這裏說話。快照僅在將它們放入函數中然後調用該函數時發生,或者在視圖加載或加載時執行。這意味着觀察者只會在被調用時觀察數據庫。這意味着用戶無法獲得警報,除非他們在該視圖上並且該應用必須正在運行。我需要的東西可以在應用程序未運行時觀察我的數據庫,然後在更新節點時向用戶發送通知。 –
所以我意外地沒有看到Firebase可以使用Google Cloud Messaging,它似乎能夠做我想做的事。爲了將來的參考Firebase已經把IOS設置在這裏:Firebase Cloud Messaging SetUp
嗨泰勒,這是公認的答案嗎? – Josh
我無法得到這個做我想做的,所以我結束了使用One Signal的一個SDK,它適用於我。 –
我所做的是建立一個帶有Ejabbered的XMPP服務器,以便進行通知。希望以下幫助。
https://firebase.google.com/docs/cloud-messaging/xmpp-server-ref
我甚至不知道如何設置XMPP服務器。我試圖設置ejabbered,但它甚至不會讓我進行身份驗證。你用什麼來讓你開始。我查看了firebase的文檔,但我不知道如何去做他們所說的 –
遵循https://firebase.google.com/docs/notifications/ios/console-audience –
我不知道如何回答我的問題。這隻允許我發送推送通知給特定的用戶列表。 –