1、申請極光推送賬號,創建應用,配置包等信息,可以獲得AppKey,用於添加Cordova插件,這部分暫不細講,根據官網的提示操作就能完成。
2、命令窗口給cordova項目添加極光推送插件
cordova plugin add jpush-phonegap-plugin --variable APP_KEY=xxxxxxxxxxxxxxxxxxxxx
3、項目中使用
由於項目原本是web改過來的,並沒有使用單頁的方式,所以遇到不少坑,index.js只需要在首頁面加載即可,JPush.js則需要在每個頁面都注冊一遍極光推送事件監聽,不然不會觸發。
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.js
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);
