2015-09-08 41 views
0

我现在用的是科尔多瓦推插件:http://ngcordova.com/docs/plugins/pushNotifications/IOS科尔多瓦推插件 - 冷启动崩溃应用

这工作正常,在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(); 
  • 应用在后台运行。在这种情况下,这些陈述似乎按照预期的行为执行。

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

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

    +0

    我建议你安装https://github.com/phonegap/ phonegap-plugin-push,因为您使用的插件已被弃用。 –

    回答

    0

    您正在使用的插件已弃用。

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

    我会建议使用该插件:phonegap-plugin-push

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

    0

    正如@Nechemya Kanelsky提到,使用推插件和情景1和2的较新版本会被处理。但随着该插件为好,第三个问题仍然存在,如提及here

    您可以使用第三期修复,提到here

    相关问题