我正在Flutter中编写一个移动应用程序,这是Google的用于开发移动应用程序的SDK。
基本上,我正在研究如何移动推送通知,我可以找到的每个来源都将我引向Firebase的方向,Firebase是Google的移动和Web应用程序平台。Firebase非常好,可以非常轻松地在用户之间发送推送通知,但是我想自己学习如何做,但是找不到相关的文档。
我所能找到的就是在应用程序后台创建Dart隔离,以仅侦听传入的通知。据我所知,Dart的Firebase插件就是这样做的。创建一个隔离来监听通知,即使该应用已关闭/用户已杀死该应用也是如此。
所以我的主要问题是,是否有可能在后台创建一个隔离来保持WebSocket连接始终处于活动状态,该连接将侦听来自服务器的数据,然后以通知的形式将该数据推送到屏幕,而无需使用Firebase?(我已经在Node.js中创建了一个服务器,如果我能处理来自我的Node服务器的所有通知,那将很酷)。谢谢!
当然,您可以在没有Firebase的情况下实现推送通知。在网络上搜索“推送通知服务列表”,您将在那里看到各种服务的列表。并且,在iOS方面,您可以让您的Web服务直接与APN交互,而根本不涉及任何第三方服务(例如Firebase的FCM)。但是,在Android方面,FCM可能仍然是合乎逻辑的选择。它简单,可扩展且免费。
但是,我不建议尝试一直保持套接字连接处于活动状态(如果您正在考虑这样做的话)。首先,当该应用程序未激活时,您甚至无法在iOS上执行此操作。其次,这些推送通知服务旨在解决Web套接字引入的问题,即用户设备资源消耗以及维护可伸缩服务器以维护所有这些连接的成本。
当然,请在需要的地方使用套接字(例如,在应用程序处于活动状态时进行近乎瞬时的通信等),但是当应用程序不再处于活动状态时,这不是正确的解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句