1

我有一個應用程序,其中有一個管理員登錄。我正在嘗試添加管理員從應用程序本身發出推送通知的功能,而無需轉到我的Firebase控制檯。當我詢問Firebase支持時,我收到了這個回覆。應用程序推送通知與斯威夫特的Firebase

「通過Firebase雲消息傳遞是可能的,你可以做的是從應用嚮應用服務器發送上游消息,然後它會處理上游消息,向客戶端應用發送推送通知。

有沒有人做過這個?我試圖弄清楚這將如何工作。由於非管理員只是在沒有登錄的情況下使用應用程序,我是否會創建一個默認用戶標識,以便應用程序本身監聽上游消息,這意味着要將推送通知發送給?有沒有辦法將發送給手機上的應用程序的任何人的上行消息作爲推送通知發送?

回答

1

可以使用火力地堡控制檯GUI來推送通知給您的客戶端應用程序: https://firebase.google.com/docs/notifications/

但是,如果你想直接從您的客戶端應用程序發送推送通知(移動或網絡),您必須實現自己的應用服務器,它將與FCM(Firebase雲消息傳遞)服務器一起向其他客戶端傳遞通知。

它在這裏解釋火力地堡文檔: https://firebase.google.com/docs/cloud-messaging/server

也有火力地堡的博客文章如下: https://firebase.googleblog.com/2016/08/sending-notifications-between-android.html

+0

使用Google Cloud Functions,您需要自己的應用服務器。見下面的答案。 – Crashalot

+0

更新:正如@Crashalot指出的,在Firebase推出雲功能之後,不需要實施單獨的App服務器,您可以編寫雲功能來處理從設備到設備的發送推送通知。 – ElectroBuddha

+0

忘記鏈接到解答如何在沒有您自己的應用服務器的情況下執行推送通知的答案:https://stackoverflow.com/a/47106374/144088 – Crashalot

0

聽起來像是你想使你的管理員從的管理版本內啓動FCM消息應用程序。在這種情況下,Firebase支持是正確的,您可以通過幾種方法來實現這種類型的事情。

的基本邏輯是:

  1. 管理員告訴服務器發送請求。
  2. 服務器代表管理員發送請求。

您有幾個選項來實現步驟1,步驟2將始終相同。對於第1步,您可以:

  • 在您的服務器上創建一個端點,它只接受來自管理員用戶的請求。 admin用戶向該端點發送一個HTTP請求,其中包含服務器所需的全部信息,然後將FCM消息發送給所有相關用戶。
  • 通過到FCM的XMPP連接,使用客戶端到服務器的上行消息。管理員用戶將使用FCM客戶端SDK向FCM發送「上游」消息,該消息將被轉發到您的服務器,在此時您的服務器將向所有相關用戶發送FCM消息。

我認爲第一個選項比較容易,而且工作原理也一樣,假設我理解了您的要求。