簡體   English   中英

是否可以在不使用 Firebase 的情況下為移動設備實現自定義推送通知?

[英]Is it possible to implement custom push notifications for mobile without the use of Firebase?

我正在 Flutter 中編寫一個移動應用程序,這是谷歌的 SDK 用於開發移動應用程序。

基本上,我正在研究如何移動推送通知,我能找到的每個來源都會將我指向 Firebase,這是 Google 的移動和 web 應用程序平台。 Firebase 非常好,可以很容易地從用戶發送推送通知到用戶,但我想自己學習如何做,但我找不到這樣做的文檔。

我所能找到的只是在我的應用程序后台創建一個 Dart Isolate 來單獨監聽傳入的通知。 據我所知,用於 Dart 的 Firebase 插件就是這樣做的; 創建一個 Isolate 來監聽通知,即使應用程序關閉/用戶已經殺死了應用程序

所以我的主要問題是,是否可以在后台創建一個 Isolate 以保持 WebSocket 連接始終處於活動狀態,該連接將監聽來自服務器的數據,然后以通知的形式將該數據推送到屏幕,而無需使用 Firebase? (我在 Node.js 中創建了一個服務器,如果我可以處理來自我的節點服務器的所有通知,那就太酷了)。 謝謝!

當然,您可以在沒有 Firebase 的情況下實現推送通知。 執行 web 搜索“推送通知服務列表”,您將看到各種服務的列表。 而且,在 iOS 端,您可以讓您的 web 服務直接與 APN 交互,並且完全不涉及第三方服務(例如 Firebase 的 FCM)。 不過,在 Android 方面,FCM 可能仍然是合乎邏輯的選擇。 它簡單、可擴展且免費。

不過,我不建議嘗試始終保持套接字連接處於活動狀態(如果這是您正在考慮的)。 首先,當應用程序不活動時,您甚至無法在 iOS 端執行此操作。 其次,這些推送通知服務旨在解決 web sockets 引入的問題,即用戶設備資源消耗和維護可擴展服務器以維護所有這些連接的成本。

當然,在您需要它們的地方使用 sockets(例如,在應用程序處於活動狀態時進行近乎即時的通信等),但當應用程序不再處於活動狀態時,這不是正確的解決方案。

對於 iOS 方面,我很樂意指出您使用 Node.js 通過 APNs 發送推送通知 我用自己的節點服務器試了一下,發現它超級簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM