Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Push notification 为什么在Web推送库上使用推送通知服务?_Push Notification_Web Push - Fatal编程技术网

Push notification 为什么在Web推送库上使用推送通知服务?

Push notification 为什么在Web推送库上使用推送通知服务?,push-notification,web-push,Push Notification,Web Push,我计划将推送通知添加到我的web应用程序中 据我所知,要向我的用户推送通知,我可以使用a直接发送通知,也可以使用推送通知服务,如OneSignal、Firebase Cloud Messaging或Batch.com 据我所知,这些服务提供了一站式解决方案,不仅可以作为网络推送,还可以向iOS和Android应用程序发送通知 如果我现在只关注Web推送,那么与Web推送库相比,直接使用这些服务有什么好处吗?我个人在执行自己的实现时最重要的一点是,您可以控制一切。这意味着您的通知不会在AWS丢失某

我计划将推送通知添加到我的web应用程序中

据我所知,要向我的用户推送通知,我可以使用a直接发送通知,也可以使用推送通知服务,如OneSignal、Firebase Cloud Messaging或Batch.com

据我所知,这些服务提供了一站式解决方案,不仅可以作为网络推送,还可以向iOS和Android应用程序发送通知


如果我现在只关注Web推送,那么与Web推送库相比,直接使用这些服务有什么好处吗?

我个人在执行自己的实现时最重要的一点是,您可以控制一切。这意味着您的通知不会在AWS丢失某个地区或定价更改并且您再也负担不起时失败。没有任何提供商可以因为您发布的内容或用户的投诉而禁止您。您可以实现自己的逻辑来在前端显示通知,就像或拥有自己的细分规则一样(例如,付费用户与免费层)。我甚至都没说这个。你的信息中没有奇怪的版权

据我所知,这些服务提供了一站式解决方案,不仅可以作为网络推送,还可以向iOS和Android应用程序发送通知

当您拥有处理应用程序事件和发送通知的服务器逻辑时,要扩展它与移动推送通知的工作范围应该并不困难。唯一改变的是你订阅设备的方式

最后一点,但并非最不重要的一点——发展起来很有趣。我想这更多的是个人问题,但我喜欢学习新东西:)


希望这能帮助你做出决定。

这取决于你想要什么。无法将iOS Safari用于Web推送。对于iOS通知,您必须使用服务或构建自己的应用程序。 我使用Pushover从脚本和软件中通知自己。这可能是一个解决方案,也可能不是,这取决于你有多少用户,你发送了多少通知,以及你的用户有多愿意使用Pushover(或iOS上的应用)等web应用


当情况发生变化时,服务将保持通知的运行。因此,您的维护应该更少。

您可以在不使用第三方库的情况下实现对网站的推送通知。您需要从客户端获取订阅令牌,并将此订阅令牌存储到服务器(数据库内部)。当您想要向用户发送推送通知后,您只需调用端点(在订阅令牌中提到端点)。就这样

由于存在安全风险和管理订阅令牌,开发人员更喜欢使用firebase、AWS推送通知或onesignal.com服务。这些服务是可选的,您根本不需要


阅读链接,也同样如此。稍后,我将使用简单的工作代码进行更新,以便进一步参考您的问题。

Web推送是一个仍在开发中且可能会更改的标准。此外,目前对浏览器的支持非常有限(请参阅)

优点是:您有一个API来管理所有支持平台(包括桌面)。 缺点是:您必须意识到并非所有平台都支持该标准

使用通知SaaS解决方案处理通知使您能够处理所有平台。从您的后端发送通知将是对您的通知SaaS服务的一次调用,但您仍然需要注意,当您希望在Android、iOS和浏览器上使用本机通知时,您必须在客户端应用程序中以不同的方式处理这些平台的集成(请参见此处在Android应用程序中使用谷歌云消息集成的示例:)

因此,您的决定应该基于您必须支持的平台。 -如果您在非iOS设备上不支持Chrome、Firefox和Edge浏览器(或者以不同方式处理iOS通知),您可以使用Web推送。
-否则,我会选择通知SaaS解决方案。

如果您还想以iOS访客为目标,这是不可能的,因为iOS不支持web推送通知

为了避免这种情况,您需要使用第三方服务,如


另一种方法是构建iOS应用程序并发送本机推送通知。

注意:我不确定StackOverflow是否是提出此问题的最佳站点,如果您认为不是,请版主迁移到另一个站点。我将奖励您并接受您的回答,因为您已经最好地解释了这两种方法之间的差异。感谢al谢谢你的意见,+1。我想强调一点关于供应商依赖性的问题,因为所有供应商都提供自己的系统,如果你因为某种原因不得不切换,这将是非常痛苦的