5***@qq.com
5***@qq.com
  • 发布:2019-11-29 16:01
  • 更新:2019-11-29 18:30
  • 阅读:1244

unipush推送,信息接口误差太大

分类:uni-app

在使用unipush时,在android端有时app切换到后台推送的数据接收不到(刚切换到后台,所以不存在进程被杀死),有时在receive事件中能打印出来msg,但是plus.push.createMessage创建本地消息无效,没有收到通知,有时候均接收不到,另外在手机锁屏状态下手机接收不到推送,成功率为0.
在ios端锁屏状态下有时收不到信息。

配置:在manifest.json中,已勾选App SDK中的DCloud UniPush,App模块权限配置中已勾选Push(消息推送),在后台管理中厂商推送设置已设置华为和小米,测试用的华为机和小米8,安卓相关签名、报名等参数已经ios证书等均已经设置

2019-11-29 16:01 负责人:无 分享
已邀请:
5***@qq.com

5***@qq.com (作者)

ios有时会重复推几十条同一条消息,同时也有出现手机有响,但是没有看到通知在哪,代码处理如下

plus.push.addEventListener('click', function(msg) {  
                let payload = msg.payload;  
                console.log('click******',JSON.stringify(msg));  
                plus.nativeUI.alert(msg.content, function(){}, msg.title, "确定");  
                if (payload) {  
                    if (typeof payload === 'string') {  
                        try{  
                            payload = JSON.parse(payload);  
                        }catch(e){}  
                    }  
                    if (typeof payload === 'object') {  
                        // payload.title:标题  
                        // payload.content:通知消息的内容  
                        // TODO ...  
                    }  
                }  
                // msg ? _this.$tks.rewrite.showModal('click', JSON.stringify(msg)) : '';  
            });  
            plus.push.addEventListener('receive', function(msg) {  
                console.log('receive******',JSON.stringify(msg));  
                plus.push.createMessage(msg.content, msg.payload, {cover:false,title:msg.title});  
                // msg ? _this.$tks.rewrite.showModal('recevice', JSON.stringify(msg)) : '';  
            });
  • DCloud_App_Array

    iOS平台plus.push.createMessage也会触发receive事件,需要像下面一样判断是否通过本地创建的:


        // 监听在线消息事件  
    plus.push.addEventListener( "receive", function( msg ) {
    if ( msg.aps ) { // Apple APNS message
    console.log( "接收到在线APNS消息:" );
    } else {
    console.log( "接收到在线透传消息,这里需要区分是服务器推送的还是本地创建的,建议在payload中添加特殊内容标记" );
    }
    }, false );

    2019-11-29 18:22

DCloud_App_Array

DCloud_App_Array

  1. 先将应用在前台进行测试,看是否可接收到通知
    如果不接收到消息就说明配置可能不正确,可以先通过plus.push.getInfo()获取cid,在后台管理系统中下发简单推送消息进行测试
  2. 切换到后台时或锁屏接收不到推送,确定发的是什么类型的消息?

注:不要在一个贴中发多个问题,如果Android和iOS平台有不同的问题请分开发帖。

  • 5***@qq.com (作者)

    好的,感觉,ios的先不调了,后台或者锁屏发的透传,一直发的都是透传消息,切换到后台偶尔能收到,但是锁屏或杀进程都收不到

    2019-11-29 20:23

  • 等不到de回忆

    这些问题我这边也是一样,真的抓狂

    场景一:有时候前台接收成功,然后切换到后台就接收不了,然后再切换到前台又可以了

    场景二:直接就后台发送推送成功,客户端接收不到,然后重启下app又可以了

    2020-03-26 10:21

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