asolas
asolas
  • 发布:2015-08-27 17:37
  • 更新:2016-09-01 15:49
  • 阅读:1533

msg.aps无法获取到值,无法判断消息是否离线

分类:HTML5+

if ( msg.aps ) { // Apple APNS message
outSet( "接收到在线APNS消息:" );
} else {
outSet( "接收到在线透传消息:" );
}

msg.aps取值为null
然后从消息中心点进去也是判定为在线透传消息
PS:查遍论坛的文档,都是用的if(msg.aps)进行判定是否接收的是apns的消息的
但是现在无论是从apns接收的消息
还是APP前台运行从透传收到的消息
都直接判定msg.aps值为空然后执行创建本地消息的步骤
现在就差这一步的
不知道问题出在哪里
完整的JS如下
求助~

function createLocalPushMsg(){  
var options = {cover:false};  
var str = dateToStr(new Date());  
str += ": 欢迎使用Html5 Plus创建本地消息!";  
plus.push.createMessage( str, "LocalMSG", options );  
 }  
document.addEventListener( "plusready", function(){   
// 监听在线消息事件  
plus.push.addEventListener( "receive", function( msg ) {  
if ( msg.aps ) {  
    alert("接收到离线消息");  
} else{  
    switch( msg.payload ) {  
    case "LocalMSG":  
    break;  
    default:  
    createLocalPushMsg()  
   alert("创建本地消息");  
    break  
 }  
}  
logoutPushMsg( msg );  
}, false );  
}, false );
2015-08-27 17:37 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

没太明白具体问题是什么?
APNS发过来的消息if(msg.aps)也是false?

  • asolas (作者)

    感谢回复

    是的,APNS的消息点开,也是返回的NULL

    后来换了个思路,通过前后台切换和click事件来判断是否是打开的离线消息了

    2015-09-09 09:54

果果昵

果果昵

同样卡在这个问题上了msg.aps无论在线还是不在线,接收到消息该属性值都是null,不知道差在哪

该问题目前已经被锁定, 无法添加新回复