2015-10-25 31 views
0

我想在我的phonegap(android,ios)项目中实现推送通知。用户应该在事件发生更新时收到消息。Phonegap推送通知是否可能?

我对理解这种做法的方式存在问题。

我应用程序未运行时如何“检查更新”? 这是甚至可能与phonegap?

感谢所有帮助

+0

的可能的复制[Phonegap-支持推送通知(http://stackoverflow.com/questions/11933209/phonegap-support-for-push-notification) – JJJ

回答

0

我在理解完成这个方法时遇到了问题。

正如你可能知道,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 
}); 
0

除了在(几乎)重复的问题,我想提两件事的答案。

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

但是:正如您所提到的,如果您的应用程序处于后台,深度睡眠或关闭状态,websocket可能无法传送数据。

为此,您必须使用Google Cloud Messaging或类似的服务。这些类型的服务都使用cordova插件,后者可以与您的应用程序一起注册后台服务,即使您的应用程序未运行,也可以接收推送通知。