【问题标题】:IOS Cordova Push Plugin - Coldstart Crashes AppIOS Cordova Push Plugin - Coldstart 崩溃应用
【发布时间】:2015-09-08 10:42:21
【问题描述】:

我正在使用 Cordova 推送插件:http://ngcordova.com/docs/plugins/pushNotifications/

这在 Android 平台上运行良好。但是,对于 IOS,我面临以下问题: 我根据文档为“$cordovaPush:notificationReceived”事件注册了监听器,并提供了与上面链接中的文档相同的实现(为方便起见,下面给出):

$rootScope.$on('$cordovaPush:notificationReceived', function(event, notification) {
  if (notification.alert) {
    navigator.notification.alert(notification.alert);
  }

  if (notification.sound) {
    var snd = new Media(event.sound);
    snd.play();
  }

  if (notification.badge) {
    $cordovaPush.setBadgeNumber(notification.badge).then(function(result) {
      // Success!
    }, function(err) {
      // An error occurred. Show a message to the user
    });
  }
});

有3种情况: 1. 应用程序在前台运行。在这种情况下,即使通知到达(由日志语句确认),设备上也不会发生可见的操作。 我希望以下两个语句能够执行,但它们没有执行。

navigator.notification.alert(notification.alert);
snd.play();
  1. 应用程序正在后台运行。在这种情况下,语句似乎按照预期的行为执行。

  2. 应用程序根本没有运行(冷启动)。在这种情况下,会播放通知和声音,但当用户点击通知时,应用会打开并挂起/崩溃。

以前有人遇到过这些问题吗?解决这些问题的最佳方法是什么?这仅适用于 IOS。

【问题讨论】:

标签: javascript ios cordova


【解决方案1】:

您使用的插件已弃用。

我以前也用过,问题很多。

我会推荐使用该插件:phonegap-plugin-push

易于安装,将解决您的问题

【讨论】:

    【解决方案2】:

    正如@Nechemya Kanelsky 所说,使用更新版本的推送插件,将处理场景 1 和 2。但同样使用该插件,第三个问题仍然存在,如 here 所述

    您可以使用第三个问题的修复程序,提到 here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-22
      • 2018-02-12
      • 1970-01-01
      相关资源
      最近更新 更多