Phonegap推送通知是可能的

Phonegap Push Notification possible?

本文关键字:通知 Phonegap      更新时间:2023-09-26

我想在我的phonegap (android, ios)项目中实现推送通知。当事件发生更新时,用户应该得到一条消息。

我对理解这是怎么做的有一个问题。

我怎么能"检查更新",而我的应用程序不运行?有了phonegap,这可能吗?

感谢您的帮助

我不太明白这是怎么做到的。

你可能知道,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) Register -何时触发通知

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
});

除了这个(几乎)重复的问题的答案之外,我还想提两件事。

你可以尝试使用websockets。像Primus这样的实现可以让你将数据从服务器"推送"到所有或选定的客户端。

但是:正如你提到的,如果你的应用程序在后台,深度睡眠或关闭,websocket可能无法传递数据。

因此你必须使用Google Cloud Messaging或类似的服务。这些服务都使用cordova插件,在你的应用程序中注册一个后台服务,即使你的应用程序没有运行,它也能够接收推送通知。