追逐者
追逐者
  • 发布:2015-07-22 14:19
  • 更新:2016-08-23 17:42
  • 阅读:5737

android上push的click和receive

分类:HTML5+

我测试了一下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-22 14:19 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

Android平台必须是透传消息,并且满足以下格式:
{title:"通知标题",content:"通知内容",payload:"通知去干嘛这里可以自定义"}

  • 追逐者 (作者)

    服务器端的代码可以参阅吗

    2015-07-23 12:12

  • 追逐者 (作者)

    如果我要在客户端执行click事件,是用“通知消息”还是“透传数据”?如果是“透传数据”,透传消息的格式又是什么样的呢?

    2015-07-23 13:46

追逐者

追逐者 (作者)

{title:"通知标题",content:"通知内容"}我的消息格式是这样的,但是页面监听不到receive事件,但是消息系统里是有这条消息的,是receive事件的问题吗?

  • DCloud_App_Array

    这时不会触发receive事件,只有当用户在系统通知栏中点击消息后启动应用触发click事件。

    2015-07-28 16:40

getui_johny

getui_johny - 个推技术支持

receive事件监听:
如果客户端正在前台操作,并且已经监听了receive事件,则会触发这个事件。在IOS平台,应用在前台操作时消息不会进入消息中心。
Click事件监听:
应用在运行,用户点击了消息中心的消息,会触发click事件。
这是HB文档上的,这样看来,应该是应用在运行或正在前台操作的时候,receive和click事件才可以监听。

  • Will_sd

    android设备上应用没有在运行着,一个透传消息接收到了,通知栏上已经显示了,但receive和click都监听不到,这种情况下如何知道手机收到消息了呢(因为我要监听这种情况,更新应用里面系统消息中心右上角的小红点)

    2016-08-21 11:01

  • z***@gmail.com

    回复 Will_sd:仔细看了下文档和demo,确实就是这么设计的,安卓和iOS不一样,安卓运行中不会触发receive,iOS会,真希望官方能统一下。

    2016-08-23 17:56

  • Will_sd

    回复 z***@gmail.com:嗯 是的。我android问题解决了,iOS上一直收不到消息,麻烦问下你iOS集成成功了吗

    2016-08-23 18:35

  • z***@gmail.com

    我的iOS比较正常,一直稳定,你去个推网站iOS配置的部分拿一个udid测试一下,先排除是不是证书的问题,我之前收不到就是证书配置的有问题,我最近也在做推送,可以交流下,我的邮箱 zxftag@gmail.com

    2016-08-24 10:48

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