一、申請極光推送帳號,建立應用,配置包等信息,能夠得到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);