Ionic 2 - 当应用程序在IOS上显示前景时显示通知

时间:2017-06-08 13:34:59

标签: ios cordova notifications ionic2

我正在Ionic 2中制作聊天应用程序。即使应用程序位于前台,我也希望显示通知。我已经尝试过使用Phonegap插件推送和FCM插件,当应用程序处于后台以及应用程序被杀时,我会收到通知。

但是这些插件在app处于前台时没有显示通知。所以我使用了Katzer的Local Notifications Plugin。它适用于Android,但在IOS中我遇到了多个问题。

与Phonegap插件推送一起使用时,会显示本地通知,但其点击事件不起作用。此外,这两个插件似乎有一些冲突,所以当一起使用时,有时正常的推送通知不会到达或他们的点击事件不起作用。 与FCM插件一起使用时,不会收到本地通知。

我也尝试过使用phonegap-plugin-local-notification但是它再次适用于Android,但在IOS中,通知以警报的形式到达,并且其点击事件也会自动调用。

我被困在这一段很长一段时间了。有人可以提供解决方案吗?我想要的只是当应用程序在IOS中处于前台时在通知中心收到通知以及点击事件,这样我就可以在点击时进行重定向。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我在我的cordova应用this plugin中实施。

当设备准备就绪时,我解雇了这段代码:

pushNotification.register(
function (result) {
    //Do some stuff
}, function (error) {
    //Do some stuff on error 
}, {
    "badge":"true",
    "sound":"true",
    "alert":"true",
    "ecb": "onNotificationAPN"
});

并且还实现了以下功能:

function onNotificationAPN(event) {
  if (event) {
    if ( event.alert ) {
      alert(Recieved alert: + event.alert);
    }
    if ( event.sound ) {
      var snd = new Media(event.sound);
      snd.play();
    }
    if ( event.badge ) {
      pushNotification.setApplicationIconBadgeNumber(function() {
        //SetApplicationIconBadgeNumber success.
      }, function() {
        //SetApplicationIconBadgeNumber error.
      },
      event.badge);
    }
  }
}

我也可以在前台收到通知。