有啥方法可以将推送式网络通知发送到移动设备? [关闭]

Posted

技术标签:

【中文标题】有啥方法可以将推送式网络通知发送到移动设备? [关闭]【英文标题】:Any way to send push style web notifications to mobile devices? [closed]有什么方法可以将推送式网络通知发送到移动设备? [关闭] 【发布时间】:2016-05-06 18:14:57 【问题描述】:

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

通知 API 服务工作者 API 推送 API

显然,这需要所有 3 个 API 才能工作,但是当我在 caniuse 中搜索它们时,似乎没有任何一个移动浏览器支持所有三个 API。有没有其他方法可以解决这个问题?

【问题讨论】:

我觉得这个问题有点跑题了。 【参考方案1】:

没错,您需要结合使用这三个 API 才能向移动设备发送站外(类似应用程序的)通知。目前唯一支持它们的浏览器是 android 上的 Chrome。

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

如果您使用Pushpad(我是创始人)之类的服务,您无需太多时间即可将推送通知添加到您的 Web 应用程序,因此您可能会开始支持 Android 以及其他设备何时支持 Web 推送您无需更改代码即可免费获得它们。

【讨论】:

【参考方案2】:

caniuse.com 上的信息不准确。使用适用于 Android v50 的 Chrome 在 Service Worker Cookbook 中尝试此 simple PUSH demo,您将看到它的工作原理。

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

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

【讨论】:

以上是关于有啥方法可以将推送式网络通知发送到移动设备? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用 azure 从网络到移动设备(跨平台)的网络/浏览器推送通知 [关闭]

推送通知-移动到移动[重复]

有一种方法可以在 Node.JS 中为所有设备推送通知吗?

H5做的app怎么实现将消息推送到状态栏,求大神指点

从网站推送通知到移动应用程序

如何将推送通知从一台 iPhone 设备发送到另一台设备? [关闭]