【问题标题】:Phonegap Push Notification possible?Phonegap 推送通知可能吗?
【发布时间】:2015-10-25 10:48:15
【问题描述】:

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

我无法理解这样做的方式。

当我的应用程序未运行时,如何“检查更新”? phonegap 也能做到这一点?

感谢您的帮助

【问题讨论】:

标签: javascript cordova


【解决方案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 插件,这些插件在您的应用程序中注册了一个后台服务,即使您的应用程序没有运行,也能够接收推送通知。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-01
      • 2018-12-17
      • 1970-01-01
      • 1970-01-01
      • 2012-08-09
      • 2013-07-16
      • 1970-01-01
      相关资源
      最近更新 更多