我测试了一下hello 5+里的push在android上是什么效果,结果发现,不管我发送的是“普通通知”还是“透传数据”都会在手机的通知栏里接收到一条消息,我认为“透传数据”应该是不会显示到通知栏的,当然这可能是服务端做的处理吧。最终让我不明白的地方是,我发送“普通通知”点击通知栏消息进入app后
// 监听点击消息事件
plus.push.addEventListener( "click", function( msg ) {
alert("click");
// 判断是从本地创建还是离线推送的消息
switch( msg.payload ) {
case "LocalMSG":
outSet( "点击本地创建消息启动:" );
break;
default:
outSet( "点击离线推送消息启动:");
break;
}
// 提示点击的内容
plus.nativeUI.alert( msg.content );
// 处理其它数据
logoutPushMsg( msg );
}, false );
alert没有出现,也就是该方法没有执行,我不知道这是否是正常的。然而当我点击发送“透传数据”再点击通知栏后就可以进入到click事件里面,但是如果我不点击通知栏的消息,而是直接打开app(app在后台运行)
plus.push.addEventListener( "receive", function( msg ) {
alert("receive");
if ( msg.aps ) { // Apple APNS message
outSet( "接收到在线APNS消息:" );
} else {
outSet( "接收到在线透传消息:" );
}
logoutPushMsg( msg );
}, false );
receive事件不会执行。不管我怎么操作receive事件好像都不会执行,但是在ios上却是正常的,所以现在很迷惑
追逐者 (作者)
服务器端的代码可以参阅吗
2015-07-23 12:12
追逐者 (作者)
如果我要在客户端执行click事件,是用“通知消息”还是“透传数据”?如果是“透传数据”,透传消息的格式又是什么样的呢?
2015-07-23 13:46