Phonegap 推送通知可能吗?
Posted
技术标签:
【中文标题】Phonegap 推送通知可能吗?【英文标题】:Phonegap Push Notification possible? 【发布时间】:2015-10-25 10:48:15 【问题描述】:我想在我的 phonegap (android, ios) 项目中实现推送通知。每当有事件更新时,用户都应该收到一条消息。
我无法理解这样做的方式。
当我的应用程序未运行时,如何“检查更新”? phonegap 也能做到这一点?
感谢您的帮助
【问题讨论】:
Phonegap- Support for push notification的可能重复 【参考方案1】:我无法理解这是如何完成的。
您可能知道,PhoneGap(或Cordova 开源版本)只是一个模仿真实应用程序包装您的网站的应用程序。当应用程序未运行时,您的网站也未运行。如果您想收到通知,这无法在网站中完成。
您可以使用 PhoneGap 与操作系统(iOS 或 Android)对话并注册您的通知。您可以在 PhoneGap 中编写特定插件或使用现有的插件,如 phonegap-plugin-push。
这个插件基本上分为三个步骤:
1) 创建 - 针对不同操作系统进行初始化
var push = PushNotification.init(
"android": "senderID": "12345679",
"ios": "alert": "true", "badge": "true", "sound": "true",
"windows":
);
2) 注册 - 什么时候触发通知
push.on('registration', function(data)
// data.registrationId
);
3) 行动 - 发生这种情况时该怎么办
push.on('notification', function(data)
// data.message,
// data.title,
// data.count,
// data.sound,
// data.image,
// data.additionalData
);
【讨论】:
【参考方案2】:除了(几乎)重复的问题中的答案之外,我还想提两件事。
您可以尝试使用 websockets。像Primus 这样的实现可以让您将数据从服务器“推送”到所有或选定的客户端。
但是:正如您所提到的,如果您的应用处于后台、深度睡眠或关闭状态,websocket 可能无法传递数据。
因此,您必须使用Google Cloud Messaging 或类似服务。这些服务都使用了 cordova 插件,这些插件在您的应用程序中注册了一个后台服务,即使您的应用程序没有运行,也能够接收推送通知。
【讨论】:
以上是关于Phonegap 推送通知可能吗?的主要内容,如果未能解决你的问题,请参考以下文章
我们可以使用phonegap框架在iphone中推送通知吗?