6***@qq.com
6***@qq.com
  • 发布:2018-04-17 19:13
  • 更新:2019-02-14 14:03
  • 阅读:4818

个推透传消息,触发receive后创建本地推送,点击状态栏消息可以打开APP触发不了click事件

分类:HTML5+

大佬们帮忙看看代码

//消息推送  
mui.plusReady(function() {  
    // 监听点击消息事件  
    plus.push.addEventListener( "click", function( msg ) {  
        var payload=(plus.os.name=='iOS')?msg.payload:JSON.parse(msg.payload);  
        pushGetRun(payload);  
    }, false );  
    // 监听在线消息事件  
    plus.push.addEventListener( "receive", function( msg ) {  
        logoutPushMsg( msg );  
    }, false );  

});  
//获取穿透参数  
function logoutPushMsg( msg ) {  
    if ( msg.payload ) {  
        if ( typeof(msg.payload)=="string" ) {  
            createLocalPushMsg(msg.content);  
        } else {  
            var data = JSON.parse(msg.payload);  
            createLocalPushMsg(data.content);  
        }  
    } else {  
        console.log( "payload: undefined" );  
    }  
}  
//创建本地推送  
function createLocalPushMsg(content){  
    var options = {cover:false,};  
    plus.push.createMessage(content, "LocalMSG", options );  
    if(plus.os.name=="iOS"){  
        alert('*如果无法创建消息,请到"设置"->"通知"中配置应用在通知中心显示!');  
    }  
}  
function pushGetRun(payload){  
    //var id = payload.id;  
    mui.openWindow({    
        url:'order-details.html',  
        id:'order-details.html',  
        extras:{    

        },  
    })  
}
mui.plusReady(function() {  
    plus.push.addEventListener("click", function(msg) {  
        var payload = (plus.os.name == 'iOS') ? msg.payload : JSON.parse(msg.payload);  
        alert(1);  
        pushGetRun(payload);  
        plus.ui.alert(JSON.stringify(msg));  
    }, false);  
    // 监听在线消息事件  
    plus.push.addEventListener("receive", function(msg) {  
        alert(2);  
        alert(JSON.stringify(msg))  
    }, false);  
});  
function pushGetRun(payload) {  
    alert(3);  
    plus.ui.alert(JSON.stringify(payload));  
    //var id = payload.id;  
    //var url = 'www/tpl/detail.html?id=' + id;  
    mui.openWindow({    
        url:'order-details.html',  
        id:'order-details.html',  
        extras:{    

        }  
    })  
}  
2018-04-17 19:13 负责人:无 分享
已邀请:
王者地带

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

可以在 click 事件里 加上一个 alert(msg); 打包测试下,点击状态栏是否会弹出提示框,

function pushGetRun(payload){
//var id = payload.id;
mui.openWindow({
url:'order-details.html',
id:'order-details.html',
extras:{

    },  
})  

}

也有可能是这里有问题,多了个逗号

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

    alert(msg)弹不出东西,应该是后台PHP的问题了

    2018-04-19 09:22

  • 王者地带

    如果能触发创建本地消息, 说明推送是成功的, 应该不关PHP后台的事

    2018-04-19 11:23

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

    又测试了下,安卓收到信息直接在状态栏显示,没有触发receive事件、点击后触发了receive事件,不是应该触发click事件吗?IOS离线和在线状态栏都不显示通知,直接给我来个弹窗。。

    2018-04-19 12:39

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

    你看下现在的代码

    2018-04-19 12:40

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

    现在安卓是收到信息什么都没弹,点击状态栏信息弹了2,IOS是离线和在线通知栏都不会显示,直接弹了2,并且有个弹窗

    2018-04-19 12:43

王者地带

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

确认,后台是否是 用透穿的方式,IOS 目前只接收透穿的方式, 如果是其他的方式就会弹出弹窗,

可以安卓苹果统一用透穿的方式, 接受收数据后, 再在本地创建本地消息提示

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

    我们这个后台也是第一次写个推,我也不会PHP,他非说用的是透传,哎,头疼,让他检查他也不检查,现在问题还是没解决。

    2018-04-19 16:47

  • g***@163.com

    本地创建消息提示,有demo吗,我现在提示的样式都是有问题的,看看你是怎么处理的?

    2019-05-20 17:24

1***@qq.com

1***@qq.com

问题解决了吗?请问怎么处理的?

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