我正在开发一个Web应用程序。当有新内容时,如何向iOS用户发送推送通知?
我正在开发一个Web应用程序。当有新内容时,如何向iOS用户发送推送通知?
虽然在iOS 10之前的版本中不支持,但是网站可以使用Push API向Firefox和Chrome(桌面/Android)发送推送通知。
Push API与较旧的Web Notifications结合使用以显示消息。优点是Push API允许在用户未浏览您的网站时传递通知,因为它们建立在服务工作者之上(这些脚本由浏览器注册,并且甚至在用户离开您的网站后的某个后台时间执行)。
发送通知的过程包括以下步骤:
Push API目前由Chrome、Firefox和Opera在桌面和Android上支持。
您还可以使用APNs向Apple/Safari桌面发送推送通知。这种方法类似,但涉及许多复杂问题(apple开发人员证书、推送包、与APNs的低级TCP连接)。
如果您想自己实现推送通知,请从以下教程开始:
如果您正在寻找一种简便的解决方案,我建议使用Pushpad,这是我开发的一项服务。
更新(2017年9月):Apple已开始为WebKit开发服务工作者(状态)。由于服务工作者是Web推送的基本技术,这是一个重大进展。
不,只有原生的iOS应用程序支持推送通知。
更新:
Mac OS X 10.9和Safari 7网站现在也可以发送推送通知,但这仍然不适用于iOS。
请阅读网站通知编程指南。还可以查看WWDC 2013 Session 614。
谷歌浏览器现在支持W3C标准的推送通知。
实际上,这是全新的,注意了。在最新版本的OS X(Mavericks)上,您可以从网页向桌面发送推送通知(CAN)。但根据文档,不能发送到iPhone:
Note: This document pertains to OS X only. Notifications for websites do not appear on iOS.
不,网页应用程序无法接收推送通知。您可以将您的网页应用程序封装成一个原生应用程序,并开启推送通知功能。
要实现这一点,您需要拥有自己的提供者服务器,以向客户端推送消息。"对于客户端,WebSocket将在Firefox 4、Google Chrome 4、Opera 11和Safari 5以及iOS 4.2中的移动版Safari中实现。同时,BlackBerry OS7浏览器也支持WebSockets。"
该工作小组开发的API将这些机制暴露给Web应用程序,以便创建基于Web的电子邮件客户端和即时消息客户端的Web开发人员可以更紧密地将其Web应用程序行为与最终用户操作系统的通知功能集成。
最终结果就像个笑话,因为只有在特定网站打开时才有效: http://alxgbsn.co.uk/notify.js/
我认为他们忘记了实现添加推送URL的可能性,以便当浏览器在后台运行并且所有选项卡都已关闭时也能够请求通知。
Pushbullet 是一个很好的替代方案。
但是用户需要拥有Pushbullet账户并安装应用程序(iOS,Android)或插件(Chrome,Opera,Firefox和Windows)。
您可以创建Pushbullet应用程序并使用oAuth2将您的应用程序用户连接到Pushbullet用户,以便使用API。
使用库会使操作更加容易,对于PHP,我可以推荐ivkos / Pushbullet-for-PHP。