Cordova PushPlugin“App in Background”执行javascript CallBack

时间:2015-05-27 19:36:26

标签: android cordova notifications phonegap-plugins ionic

我也尝试过官方的PushPlugin和其他分叉。我遇到的唯一问题是当我们收到多个推送通知时(应用程序处于后台/停止状态)。在这种情况下,我们必须明确地单击通知以打开应用程序(处于后台/停止状态)。 我们会收到与我们点击的通知相关的有效负载。

  1. 我想在收到后立即通过我的javascript回调处理通知。有可能吗?
  2. 即使我点击一个通知,我也只会引用它,而不是其他通知。此外,单击状态栏中所有通知的主页按钮擦除(在这种情况下,我松散通知)。
  3. 问题很容易解决,如果 1.一旦通知到达,我们就会执行javascript回调。 2.在状态栏中单击单个通知时,我们应该能够获取托盘中仍存在的所有通知。

    我已经从拉请求中分叉了 https://github.com/phonegap-build/PushPlugin/pull/333
    并试图玩代码,但事情没有达到预期。

1 个答案:

答案 0 :(得分:0)

在我的聊天应用中。我使用推送通知和信号器来实现你的目的。

当用户x向用户y发送新消息时,当signalr Server从x获取消息时,它将消息存储在sql中。

此时,用户Y可能处于下列情况之一:

案例1:用户Y在线并且在前台并且已经与X聊天,然后SignalR服务器调用用户Y的javascript函数来更新Y的显示,以便Y可以立即看到消息并听到声音。

案例2:用户Y在线但在后台(或者用户Y在前台但不在与x聊天的屏幕中,例如,Y与Z聊天),然后 SignalR服务器调用用户Y的javascript函数来更新Y的显示,然后使用推送通知向Y发送通知并播放另一个声音,这样当Y看到通知时,单击它,Y可以看到新消息

案例3:用户Y离线或用户Y关闭应用程序,然后 SignalR服务器什么都不做(因为没有连接Y所以无法完成)。推送通知什么都不做。但是,当用户Y再次联机时,它会从服务器读取是否有任何待处理的新消息。