我正在开发一个网络应用。如果有新内容,如何向iOS用户发送推送通知?
答案 0 :(得分:89)
如另一个答案所述,一个选项是将Web应用程序“包装”在本机应用程序中。这意味着您将创建一个本机应用程序,该应用程序基本上向显示您的Web应用程序的用户提供UIWebView(用于iPhone开发)。虽然这几乎与本机浏览器的功能相同,但您可以添加使用本机控件注册推送通知的功能。
查看Apple的推送通知文档会对您有所帮助,因为它提供了一些关于iPhone上推送消息传递功能的非常好的信息。
请参阅Peter Hosey提供的这些链接:
答案 1 :(得分:44)
不,只有原生iOS应用程序支持推送通知。
更新:
Mac OS X 10.9& Safari 7网站现在也可以发送推送通知,但这仍然不适用于iOS。
阅读Notification Programming Guide for Websites。另请查看WWDC 2013 Session 614。
答案 2 :(得分:39)
虽然iOS上尚未支持 (从iOS 10开始),但网站可以使用Push API向Firefox和Chrome(桌面/ Android)发送推送通知。
Push API与旧Web Notifications结合使用以显示消息。优点是Push API允许即使在用户没有浏览您的网站时也会传递通知,因为它们是基于Service Workers构建的(脚本由浏览器注册,可以在以后执行,甚至在以后执行您的用户已离开您的网站。
发送通知的过程包括以下内容:
桌面和Android 目前支持 Chrome , Firefox 和 Opera 。
您还可以使用APN向Apple / Safari 桌面发送推送通知。方法类似,但有许多复杂性(苹果开发人员证书,推送包,与APN的低级TCP连接)。
如果您想自己实施推送通知,请从这些教程开始:
如果您正在寻找解决方案,我建议Pushpad,这是我建立的服务。
更新(2017年9月):Apple已开始为WebKit(status)开发服务工作者。由于服务人员是网络推送的基础技术,这是向前迈出的一大步。
答案 3 :(得分:10)
Google Chrome现在支持推送通知的W3C标准。
答案 4 :(得分:9)
ACTUALLY ..这是全新的想法..在最新版本的OS X(Mavericks)中,您CAN会将推送通知从网页发送到桌面。但根据文档,不是iPhone:
Note: This document pertains to OS X only. Notifications for websites do not appear on iOS.
目前Apple计划允许两种推送通知: OS X网站推送通知 和本地通知。
这里显而易见的障碍是,它不适用于PC,也不允许你进行Android推送通知。
此外,您实际上可以使用与Snow Leapord一样旧的版本,只要所述网站处于打开和活动状态,就可以从网站发送推送通知。即使网站没有打开,新的Mavericks操作系统也会允许推送通知,假设您已经允许该网站发送推送通知。
来自Apple的口:
在OS X v10.9及更高版本中,您可以使用Apple推送通知服务(APN)从您的Web服务器直接向OS X用户发送OS X网站推送通知。不要与本地通知混淆,无论您的网站或其网络浏览器是否开放,推送通知都可以覆盖您的用户...
要在网站中集成推送通知,首先要提供一个允许用户选择接收通知的界面。如果用户同意,Safari会以称为推送包的文件的形式联系您的网站,请求其凭据。推送包还包含OS X中使用的通知资产以及用于与您配置的Web服务进行通信的数据。如果推送包有效,则会在设备上收到用户的唯一标识符,称为设备令牌。当您将此设备令牌和您的消息或有效负载的组合发送到APN时,用户会收到通知。
收到通知后,用户可以点击该通知,在用户的默认浏览器中打开您选择的网页。
注意:如果您需要更新APN,请阅读“本地和推送通知编程指南”中的“Apple推送通知服务”一章。虽然该文档特定于iOS和OS X推送通知,但推送通知服务的范例仍然适用。
答案 5 :(得分:8)
如果您不想创建自己的原生应用,可以使用pushover:https://pushover.net/
答案 6 :(得分:7)
不,网络应用无法接收推送通知。您可以做的是将您的Web应用程序包装到具有推送通知的本机应用程序中。
答案 7 :(得分:2)
您可以使用HTML5 Websockets引入自己的推送消息。来自Wikipedia:
“对于客户端,WebSocket将在Firefox 4中实现, 谷歌Chrome 4,Opera 11和Safari 5,以及移动版本 iOS 4.2中的Safari。此外,OS7中的BlackBerry Browser也支持 的WebSockets“。
要执行此操作,您需要自己的提供程序服务器将消息推送到客户端。
如果您想使用APN(Apple推送通知)或C2DM(云端设备消息),您必须拥有必须通过在线商店下载的本机应用程序。
答案 8 :(得分:2)
W3C于2010年启动了一个实施通知的工作组:
http://www.w3.org/2010/web-notifications/
本工作组开发了将这些机制公开给Web应用程序的API,以便Web开发人员创建,例如,基于Web的电子邮件客户端和即时消息客户端可以更紧密地将他们的Web应用程序行为与通知功能集成在一起。最终用户的操作系统。
最后,结果就像一个糟糕的笑话,因为它只在特定网站开放时起作用: http://alxgbsn.co.uk/notify.js/
我认为他们错过了实施添加推送网址的可能性,以便浏览器能够在后台运行时请求通知 - 最重要的是 - 如果所有标签都已关闭。
答案 9 :(得分:2)
Pushbullet是一个很好的选择。
但是,用户需要安装Pushbullet帐户并安装应用程序(iOS,Android)或插件(Chrome,Opera,Firefox和Windows)。
您可以通过创建Pushbullet应用程序来使用API,并使用oAuth2将应用程序的用户连接到Pushbullet用户。
使用库可以更容易,对于PHP我可以推荐ivkos/Pushbullet-for-PHP。
答案 10 :(得分:1)
查看Xtify Web Push通知。 http://getreactor.xtify.com/此工具允许您将内容推送到网页并定位访问者,并根据浏览器DOM事件触发消息。它专为移动设计而设计。