我发现这个tutorial声称可以使用以下HTML5 API的组合来完成:
显然所有3个都需要这个才能工作,但是当我用caniuse搜索它们时,任何一个移动浏览器都不支持所有三个API。还有另一种方法可以解决这个问题吗?
答案 0 :(得分:1)
这是正确的,您需要使用这三个API的组合才能向移动设备发送非现场(类似应用)通知。目前唯一支持它们的浏览器是Android上的Chrome。
如果你使用像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支持。