我打算将推送通知添加到我的Web应用程序。
据我了解,要向用户推送通知,我可以使用web push library并直接发送通知,也可以使用推送通知服务,例如OneSignal,Firebase Cloud Messaging或Batch。 com。
据我了解,这些服务提供了一种一站式解决方案,不仅可以将通知作为Web Push传递,还可以向iOS和Android应用程序传递。
如果我现在仅专注于Web Push,直接在Web Push库上使用这些服务之一有什么好处我应该意识到?
答案 0 :(得分:1)
对于我个人而言,执行自己的实施过程中最重要的一点是您控制一切。这意味着当AWS失去地区或价格变化并且您再也负担不起时,您的通知不会失败。由于您分发的内容或用户的投诉,没有任何提供商可以禁止您。您可以实现自己的逻辑以在前端显示通知,例如stacking them或具有自己的细分规则(例如,付费用户与免费套餐)。我什至没有谈论custom subscription UI。您的邮件中没有奇怪的版权。
据我了解,这些服务提供了一种一站式解决方案,不仅可以将通知作为Web Push传递,还可以向iOS和Android应用程序传递。
当您具有服务器逻辑来处理应用程序事件并发送适当的通知时,就不难理解它可以与移动推送通知一起使用。唯一改变的是您订阅设备的方式。
最后一个,但并非最不重要-开发很有趣。我想这更多是个人问题,但我喜欢学习新事物:)
希望可以帮助您做出决定。
答案 1 :(得分:1)
这取决于您想要什么。无法将iOS Safari用于Web-Push。要向iOS发送通知,您必须使用服务或构建自己的应用。 我使用Pushover从脚本和软件中进行通知。这可能是解决方案,也可能不是解决方案,这取决于您拥有多少用户,发送了多少通知以及用户是否愿意使用Pushover之类的Web应用程序(或iOS上的应用程序)。
当情况发生变化时,服务将使通知继续进行。因此应该为您减少维护费用。
答案 2 :(得分:1)
您可以在不使用第三方库的情况下向您的网站实施推送通知。您需要从客户端获取订阅令牌并将该订阅令牌存储到服务器(内部数据库)上。当您想向用户发送推送通知之后,您仅需调用端点(订阅令牌中提到了端点)。就是这样。
由于存在安全风险和管理订阅令牌,开发人员更喜欢使用Firebase,AWS推送通知或onesignal.com服务。这些服务是可选的,您根本不需要。
读取链接introduction to push notification和相同的lab code examples。稍后,我将使用简单的工作代码进行更新,以进一步参考您的问题。
答案 3 :(得分:1)
Web Push是一个仍在开发中并可能随时更改的标准。目前,浏览器支持也非常有限(请参见https://caniuse.com/#feat=push-api)。
优点是:您有一个API可以统治所有支持平台(包括台式机)。 缺点是:您必须意识到并非所有平台都支持该标准。
使用通知SaaS解决方案来处理通知,使您能够处理所有平台。从后端发送通知将仅是对通知SaaS服务的调用,但是您仍然需要知道,当您想在Android,iOS和浏览器上拥有本机通知时,必须处理这些通知的集成。客户端应用中的平台有所不同(请参见此处的示例,该示例在Android应用中使用Google Cloud Message集成:https://firebase.google.com/docs/cloud-messaging/android/client)。
因此,您的决定应基于您必须支持的平台。 -如果您在非iOS设备上不再支持Chrome,Firefox和Edge浏览器(或者以不同方式处理iOS通知),则可以使用Web Push。 -否则,我会选择Notification SaaS解决方案。
答案 4 :(得分:0)
如果您也要定位iOS访问者,则不可能,因为iOS不支持Web推送通知。
要避免这种情况,您需要使用Wise Notifications之类的第三方服务。
另一种选择是构建一个iOS应用并发送本机推送通知。