一个java后端开发人员接触到uniapp/uni-app开发安卓对接极光推送的点点滴滴
我是一个1年工作经验的java开发后端,菜的要死,学习过一点基础的前端vue开发,所以再看uniapp开发的时候让我觉得很有意思,也觉得自己应该也可以开发玩一玩,除了布局样式很薄弱,但是开发逻辑还是可以写一点的,今天有个需求是对接极光推送,我去官网看了看,让我大跌眼镜,根本不知道何从下手。最后在我厚着脸皮的情况下和疯狂骚扰网络大佬后,终于成功了,所以我记录一下内容,给大家借鉴一下
第一步,去极光官网,注册
https://www.jiguang.cn/
第二步,根据控制台操作指南创建一个应用
http://docs.jiguang.cn/jsms/guideline/JSMS_consoleguide/
创建完应用过程中会输入一个包名,比如:com.demo.xxx
记住这个包名,后面有用
第三步
去uniapp插件市场,搜索找到官方推荐的极光插件
https://ext.dcloud.net.cn/plugin?id=741
点击试用插件,选择绑定的项目
第四步
用uniapp项目编辑器打开项目,进行配置
在图片中的文件打开,选择云插件,选择刚才点击试用的插件,然后再andirxxx_appkey哪里输入在极光生成的appkey
第五步
在项目的App.vue编辑
<script>
export default {
onLaunch: function() {
console.log('App Launch');
// // #ifdef APP-PLUS
// // 检测升级
this.addJYJPushReceiveNotificationListener();
this.addJYJPushReceiveOpenNotificationListener();
// this.addJYJPushReceiveBackgroudNotificationListener();
this.addJYJPushCustomReceiveNotificationListener();
const jyJPush = uni.requireNativePlugin('JY-JPush');
jyJPush.setJYJPushAlias({
userAlias: 'testAlias'
}, result => {
// 设置成功或者失败,都会通过这个result回调返回数据;数据格式保持极光返回的安卓/iOS数据一致
// 注:若没有返回任何数据,考虑是否初始化完成
// uni.showToast({
// icon: 'none',
// title: JSON.stringify(result)
// })
console.log(JSON.stringify(result))
});
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
},
globalData: {
test: ''
},
methods: {
addJYJPushReceiveOpenNotificationListener() {
const jyJPush = uni.requireNativePlugin('JY-JPush');
jyJPush.addJYJPushReceiveOpenNotificationListener(result => {
uni.showToast({
icon: 'none',
title: 'open' + JSON.stringify(result)
})
console.log("addJYJPushReceiveOpenNotificationListener___"+JSON.stringify(result));
console.log('打开了' + JSON.stringify(result));
});
},
addJYJPushReceiveNotificationListener() {
const jyJPush = uni.requireNativePlugin('JY-JPush');
jyJPush.addJYJPushReceiveNotificationListener(result => {
uni.showToast({
icon: 'none',
title: 'rec' + JSON.stringify(result)
})
console.log("addJYJPushReceiveNotificationListener___"+JSON.stringify(result));
console.log('收到了' + JSON.stringify(result));
});
},
addJYJPushReceiveBackgroudNotificationListener(){
const jyJPush = uni.requireNativePlugin('JY-JPush');
jyJPush.addJYJPushReceiveBackgroudNotificationListener(result => {
uni.showToast({
icon: 'none',
title: 'recback' + JSON.stringify(result)
})
console.log("addJYJPushReceiveBackgroudNotificationListener___"+JSON.stringify(result));
console.log('后台收到了' + JSON.stringify(result));
});
},
addJYJPushCustomReceiveNotificationListener() {
const jyJPush = uni.requireNativePlugin('JY-JPush');
jyJPush.addJYJPushCustomReceiveNotificationListener(result => {
uni.showToast({
icon: 'none',
title: 'ReceiveCustomNotificationListener' + JSON.stringify(result),
})
console.log("addJYJPushCustomReceiveNotificationListener___"+JSON.stringify(result));
});
}
}
}
</script>
最后一步要测试了,但是,最重要的一步,就是模拟测试的时候,要创建一个基座
在编辑器的
运行——》运行到手机或模拟器——》制作自定义调试基座
在包名里面,输入极光哪里设置的包名,用在这里
点击打包后,即可
等待打包完成后
在
运行——》运行到手机或模拟器——》运行基座选择
选择自定义的基座
然后直接运行到手机,就可以调试了
在极光测试发送信息
最后,成功了
上一篇: Dorado7自定义下拉框(三)
下一篇: Qml实现自定义右键菜单