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);        
相關文章
相關標籤/搜索