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);

最新文章

  1. AR(增强现实) 知识篇
  2. 命名空间“System.Web”中不存在类型或命名空间名称“Optimization”(是否缺少程序集引用?)
  3. 优化Google字体 全面加速WordPress
  4. Observer pattern 观察者模式
  5. linux分享六:进程管理
  6. XAMPP中proftpd的简明配置方法
  7. 【社招】来杭州吧,阿里国际UED招前端~~
  8. Fibonacci sequence 求余数
  9. easyui源码翻译1.32--Messager(消息窗口)
  10. How to save/read file on different platforms
  11. .NET 基础 一步步 一幕幕[面向对象之new、this关键字]
  12. 动手编写插件-javascript分页插件
  13. canvas 画钟表
  14. python调用C函数
  15. ERP中通过EDI导入资料的时候出现【Microsoft Office Excel不能访问文件‘C:\Windows\TEMP\433....’
  16. centos7安装、配置、卸载jdk1.8
  17. 20172325 2018-2019-2 《Java程序设计》第六周学习总结
  18. scipy插值interpolation
  19. 我的vim插件配置
  20. 20145333茹翔 Exp5 利用nmap扫描

热门文章

  1. HDU 1018 Big Number 数学题解
  2. HttpClient证书回调问题解决
  3. jQuery笔记---选择器
  4. Linux下的lds链接脚本简介(三)
  5. NSArray NSDictionary一些用法
  6. [Angular] Angular Advanced Features - ng-template , ng-container, ngTemplateOutlet
  7. mongodb查询部分满足条件的列
  8. js课程 3-9 js内置对象定时器和超时器怎么使用
  9. 算法求解中的变量、数组与数据结构(STL 中的容器)
  10. ES权威指南1