lkyzhm@sina.com
lkyzhm@sina.com
  • 发布:2018-03-23 09:41
  • 更新:2020-05-15 17:36
  • 阅读:3137

ios app 在前台时,个推推送的消息,receive 收到消息后创建本地消息(plus.push.createmessage()),无限执行,是怎么回事?怎么判断呢?

分类:HTML5+

ios app 在前台时,receive 收到消息创建本地消息,无限执行,怎么判断,消息为标准的透传消息;

plus.push.addEventListener('receive',function(msg){
if(plus.os.name.toUpperCase()=="IOS")
{

console.log((typeof(msg)=="object"));
console.log(msg.payload);

if(msg.payload.indexOf("nolocalMsg")>-1)
{
var gtpush = msg.payload;
gtpush = gtpush.substr(10);
plus.push.createMessage(msg.content,gtpush,{title:msg.title})
}

}
else
{

}
},false);

一条推送消息:打印出的log 是这样的

[LOG] : true
[LOG] : nolocalMsgBDA9F1E19A334BAC900E5A3F9CF86260
[LOG] : true
[LOG] : nolocalMsgBDA9F1E19A334BAC900E5A3F9CF86260
[LOG] : true
[LOG] : nolocalMsgBDA9F1E19A334BAC900E5A3F9CF86260
[LOG] : true
[LOG] : nolocalMsgBDA9F1E19A334BAC900E5A3F9CF86260
[LOG] : true
[LOG] : nolocalMsgBDA9F1E19A334BAC900E5A3F9CF86260
[LOG] : true
[LOG] : nolocalMsgBDA9F1E19A334BAC900E5A3F9CF86260
[LOG] : true
[LOG] : BDA9F1E19A334BAC900E5A3F9CF86260
[LOG] : true
[LOG] : BDA9F1E19A334BAC900E5A3F9CF86260
[LOG] : true
[LOG] : BDA9F1E19A334BAC900E5A3F9CF86260
[LOG] : true
[LOG] : BDA9F1E19A334BAC900E5A3F9CF86260
[LOG] : true
[LOG] : BDA9F1E19A334BAC900E5A3F9CF86260
[LOG] : true
[LOG] : BDA9F1E19A334BAC900E5A3F9CF86260

为什么会这样呢?

2018-03-23 09:41 负责人:无 分享
已邀请:
jtshushu

jtshushu - php-Thinkphp python MUI uniApp Vuejs Bootstrap

uniapp解决

plus.push.addEventListener('receive', function(message) {  

                    plus.nativeUI.toast('push receive');   
                     console.log(message);  

                    if(message.type=='receive'){  
                        //plus.push.createMessage(msg.content,msg.title);  
                            plus.push.createMessage(message.content);  

                     }  

                }); 
jtshushu

jtshushu - php-Thinkphp python MUI uniApp Vuejs Bootstrap

解决了

plus.push.addEventListener('receive', function(message) {    

                    plus.nativeUI.toast('push receive');     
                     console.log(message);                   
                    if(message.type=='receive'){    
                        //plus.push.createMessage(msg.content,msg.title);    
                            plus.push.createMessage(message.content);    

                     }    

                }); 
回梦無痕

回梦無痕 - qq565766672,论坛私信不回,有需要请加QQ,付费咨询指导。

因为你的createmessage写在了receive中,然后createmessage会触发receive。就无限循环了

  • lkyzhm@sina.com (作者)

    老师你好!,这是我监听到的消息receive 中通过判断,msg.payload 是否还有特殊字符,是否继续执行

    plus.push.addEventListener('receive',function(msg){

    if(getOsType()=="IOS")

    {


                console.log((typeof(msg)=="object"));  
    console.log(msg.payload);

    if(msg.payload.indexOf("nolocalMsg")>-1)
    {
    var gtpush = msg.payload;
    gtpush = gtpush.substr(10);
    plus.push.createMessage(msg.content,gtpush,{title:msg.title})
    }

    }

    else

    {


            }  
    },false);

    一条推送消息:打印出的log 是这样的


    [LOG] : true

    [LOG] : nolocalMsgBDA9F1E19A334BAC900E5A3F9CF86260

    [LOG] : true

    [LOG] : nolocalMsgBDA9F1E19A334BAC900E5A3F9CF86260

    [LOG] : true

    [LOG] : nolocalMsgBDA9F1E19A334BAC900E5A3F9CF86260

    [LOG] : true

    [LOG] : nolocalMsgBDA9F1E19A334BAC900E5A3F9CF86260

    [LOG] : true

    [LOG] : nolocalMsgBDA9F1E19A334BAC900E5A3F9CF86260

    [LOG] : true

    [LOG] : nolocalMsgBDA9F1E19A334BAC900E5A3F9CF86260

    [LOG] : true

    [LOG] : BDA9F1E19A334BAC900E5A3F9CF86260

    [LOG] : true

    [LOG] : BDA9F1E19A334BAC900E5A3F9CF86260

    [LOG] : true

    [LOG] : BDA9F1E19A334BAC900E5A3F9CF86260

    [LOG] : true

    [LOG] : BDA9F1E19A334BAC900E5A3F9CF86260

    [LOG] : true

    [LOG] : BDA9F1E19A334BAC900E5A3F9CF86260

    [LOG] : true

    [LOG] : BDA9F1E19A334BAC900E5A3F9CF86260

    2018-03-23 11:52

王者地带

王者地带 - 5+混合APP开发教程网 | http://www.html5-app.com | 咨询QQ: 2564034335

//苹果只能用透传消息, 有两种应用在前台是走个推或其他推送,当应用在后台时,才是走苹果的APS道通  
plus.push.addEventListener("click", function(msg)   
{  
          //msg 消息中,有个APS的,如果不为NULL ,就是走苹果的APS通道,否则是走个推或其他通道  
             if(msg["aps"]!=null)  
        {  
                         // 苹果的APS通道  
                }  

 }
1298328923@qq.com

1298328923@qq.com - web前端

plus.push.createmessage()苹果手机不生效,安卓都可以,可以监听到recive,不知道是什么原因

sunjs2356@163.com

sunjs2356@163.com

您好,这个一直循环的问题怎么解决的

  • 2691713386@qq.com

    if(msg.type=='receive'){plus.push.createMessage(msg.content,msg.title);} 我是这样搞的不知道对不对反正不循环了

    2019-12-28 00:07

ancientry

ancientry

您好,循坏问题解决了吗??我也是遇到到这个问题了,急求

  • 2691713386@qq.com

    if(msg.type=='receive'){plus.push.createMessage(msg.content,msg.title);}

    2019-12-28 00:06

1525941857@qq.com

1525941857@qq.com - 忍冬

您好,循坏问题解决了吗??遇到相同问题,急求解决办法!!

要回复问题请先登录注册