Phonegap推送通知可能吗?

时间:2015-10-25 10:48:16

标签: javascript cordova

我想在我的phonegap(android,ios)项目中实现推送通知。只要有事件更新,用户就应该收到消息。

我有理解这样做的方法。

我如何检查更新"我的应用程序没有运行? 这甚至可以用phonegap吗?

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

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

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

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

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

答案 1 :(得分:0)

  

我有理解这样做的方法有问题。

您可能知道,PhoneGap(或Cordova开源版本)只是一个包含您的网站模仿真实应用的应用程序。当应用未运行时,您的网站也未运行。如果您想收到通知,则无法在网站上完成。

您可以使用PhoneGap与操作系统(iOS或Android)通话并注册您的通知。您可以在PhoneGap中编写特定插件或使用phonegap-plugin-push之类的现有插件。

这个插件基本上有三个步骤:

1)创建 - 不同操作系统的初始化

modelBuilder.Entity<PostComment>()
              .HasOptional<UserProfile>(u => u.UserProfile)
              .WithMany(p => p.PostComments)
              .HasForeignKey(s => s.CommentedBy);

2)注册 - 您的通知何时被触发

var push = PushNotification.init({ 
       "android": {"senderID": "12345679"},
       "ios": {"alert": "true", "badge": "true", "sound": "true"},
       "windows": {} 
     });

3)行动 - 发生这种情况时该怎么办

push.on('registration', function(data) {
    // data.registrationId
});
相关问题