有什么方法可以将推送式网络通知发送到移动设备?

时间:2016-05-06 18:14:58

标签: html5 mobile service-worker push-api web-notifications

我发现这个tutorial声称可以使用以下HTML5 API的组合来完成:

  • 通知API
  • Service Workers API
  • 推送API

显然所有3个都需要这个才能工作,但是当我用caniuse搜索它们时,任何一个移动浏览器都不支持所有三个API。还有另一种方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

这是正确的,您需要使用这三个API的组合才能向移动设备发送非现场(类似应用)通知。目前唯一支持它们的浏览器是Android上的Chrome。

  • 即使网站关闭,服务工作者也可以在后台运行一些Javascript功能
  • Push API建立在服务工作者的基础之上,并提供了一种在收到推送信号时激活它的方法。它还描述了如何通过浏览器制造商的服务器从服务器传播推送信号以及如何收集设备端点(允许您向设备发送推送通知的秘密URL)
  • Notification API用于构建和显示通知

如果你使用像Pushpad这样的服务(我是创始人),你不会花太多时间为你的网络应用添加推送通知,所以你可能会开始支持Android和其他设备将支持网络推送,您无需更改代码即可免费获取它们。

答案 1 :(得分:0)

caniuse.com上的信息不准确。使用Chrome for Android v50在simple PUSH demo中试用此Service Worker Cookbook,您就会看到它正常运行。

无论如何回答您的问题,如果您正在使用纯Web应用程序,显示本机通知的唯一方法是通过Web Notifications API,您可以通过websockets模拟推送通知,服务器发送事件并在重新连接时重新连接使用NavigatorOnLine API在线,但您需要用户保持浏览器正常运行。

请注意,能够使用Push API的浏览器至少部分地支持Service Worker支持。