是否可以在不使用Firebase的情况下为移动设备实现自定义推送通知?

维克多·维利亚

我正在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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否可以在不使用XML的情况下为Spring创建自定义的Jackson对象映射器?

是否可以在不使用自定义窗口小部件的情况下将单个对话框字段映射到多个JCR属性?

Firebase推送通知自定义声音

是否可以在不使用公共回调的情况下监听AWS SNS通知?

(Firebase)Firestore安全规则-允许在不使用自定义令牌的情况下验证电子邮件吗?

如何在不使用Firebase控制台的情况下发送推送通知

如何在不使用ELB的情况下为EC2实例实施自定义运行状况检查?

是否可以在不使用NPM的情况下使用自定义的TestCafé浏览器提供程序?

如何在不使用布局的情况下在自定义目标中获取ThreadId?

在不使用FCM的情况下为Xamarin.Android创建推送通知

有什么方法可以在不使用IDFA的情况下为设备生成唯一ID?

使用Firebase无法接收自定义推送通知

是否可以在不使用自定义集合访问器的情况下监视属性的更改?

如何在不使用注释的情况下为自定义DTO操作配置标识符?

如何在不使用parse.com创建频道的情况下将推送通知发送到特定设备?

是否可以在不使用图像的情况下为HTML列表选择其他形状而不是圆形?

如何在不使用IB的情况下使用自定义UITabBar类创建UITabBarController?

是否可以在不使用每人SSH证书的情况下为GIT设置Gerrit

Android:是否可以在不使用自定义适配器的情况下更改图像?

是否可以在ios中自定义推送通知屏幕?

是否可以在不使用扩展程序/自定义帮助程序的情况下限制ustry.js中的循环?

我们可以在不使用 Firebase 的情况下向全球发送通知吗?

如何在不使用 UIActivityViewController 的情况下为 Airdrop 共享创建自定义 UI?

是否可以在不使用游标的情况下为集合中的每个记录运行一个函数?

如何在不使用 Firestore 的情况下使用 FCM 向用户设备推送通知

Firebase 推送通知中的自定义声音

是否可以在不使用 pg_restore 的情况下在 cloud sql 中导入 postgresql 自定义格式转储文件?

如何在不使用 Firebase Cloud 功能的情况下实现推送通知?

在不使用回调的情况下在 Keras 中实现自定义指标