1

我有這個應用程序,並且我已啓用推送通知。我可以通過Firebase控制檯發送通知,但我真正想做的事情是,在應用上採取操作時,能夠向特定用戶發送通知。我試圖關注Firebase文檔,但對這個文檔,似乎真的很差..使用Firebase和Swift推送通知

它會告訴你用這個方法:

FIRMessaging.messaging().sendMessage(message: ([NSObject : AnyObject]), to: (String), withMessageID: (String), timeToLive: (Int64)) 

但我真的不能找出把什麼作爲參數,並且如前所述,文檔並沒有太大的幫助.. 有沒有人嘗試過使用這種方法,如果是的話,它是如何完成的?感謝任何幫助,謝謝!

+0

將消息發送到設備,您需要指定所謂的服務器令牌。顧名思義,這個令牌只能用在你控制的服務器上(或者在另一個安全的環境中)。出於這個原因,發送設備到設備消息當前只能通過運行自定義應用服務器來實現。請參閱http://stackoverflow.com/questions/37634046/is-it-possible-to-send-pushnotifications-using-firebase-cloud-messaging-fcm-t –

+0

如何將答案應用於我自己的問題?我發現必須使用HTTP post-requests才能完成對Firebase提供的網絡服務器的處理。因此,下面的答案是錯誤的。可以將設備的通知發送到其他設備,只需通過一個網絡服務器,就像這樣:設備發出POST請求 - > firebase webserver轉發 - > Apple APNS - >接收設備..這就是它是如何完成的。 –

+0

這是由本答案和問題I的答案鏈接。隨意提供你自己的答案關於該鏈接的問題。 –

回答

3

據我所知,無法觸發從具有Firebase的設備發送推送通知。您需要的是一項單獨的服務(在不同的服務器上運行),它具有訪問由Firebase管理的設備令牌的必要權限,並向特定設備發送推送通知。所有這些都需要運行在你的Nosql的firebase數據庫上。 您可以將推送通知請求存儲在數據庫中,並讓推送通知服務監聽該路徑。如果有來自設備的請求觸發發送通知並從數據庫中刪除請求。

你可以使用一個應用程序的NodeJS與此包:https://www.npmjs.com/package/fcm-node

+0

現在是可能的。請參閱:https://stackoverflow.com/a/47106374/144088 – Crashalot