Cordova 集成极光推送

一、申请极光推送帐号,建立应用,配置包等信息,能够得到AppKey,用于添加Cordova插件,这部分暂不细讲,根据官网的提示操做就能完成。web

二、命令窗口给cordova项目添加极光推送插件app

cordova plugin add jpush-phonegap-plugin --variable APP_KEY=xxxxxxxxxxxxxxxxxxxxx

三、项目中使用this

因为项目本来是web改过来的,并无使用单页的方式,因此遇到很多坑,index.js只须要在首页面加载便可,JPush.js则须要在每一个页面都注册一遍极光推送事件监听,否则不会触发。spa

index.js    在程序初始化的时候初始化极光推送插件

console.log("===[开始初始化]===");
var app = {
    initialize: function() {
        console.log("===[注册初始化事件]===");
        document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
    },
    onDeviceReady: function() {//设备准备完毕
        console.log("===[设备准备就绪]===");
        initJPush();//初始化极光推送
    }
};
app.initialize();

function initJPush(){
        console.log("===[初始化极光推送]===");
        try {
            window.JPush.init();
            window.JPush.setDebugMode(true);
            if (device.platform != "Android") {
                window.JPush.setApplicationIconBadgeNumber(0);
            }
        } catch (exception) {
            alert(exception);
        }
        document.addEventListener("jpush.receiveRegistrationId", function (event) {
            console.log("receiveRegistrationId" + JSON.stringify(event));
        }, false);
    }
   function setAlias(alias){
        console.log("======[alias]====:"+alias);
        window.JPush.setAlias({ sequence: 1, alias: alias },
        function (result) {
            console.log("alias设置成功:"+result.alias);
        }, function (error){
            alert("err:"+error.code);
        });
    }

JPush.jscode

 document.addEventListener("jpush.openNotification", function(){
    //打开通知
    try {
        //获取极光推送附带的参数
        var id= event.extras.id;
        var lx= event.extras.lx;
        //相应的动做
    } catch (exception) {
        console.log("JPushPlugin:onOpenNotification" + exception);
    }
}, false);
document.addEventListener("jpush.receiveNotification", function(){
    //收到通知
    try {
        //获取极光推送附带的参数
        var id= event.extras.id;
        var lx= event.extras.lx;
        //相应的动做
    } catch (exception) {
        console.log("JPushPlugin:onReceiveNotification" + exception);
    }
}, false);        
相关文章
相关标签/搜索