1.首先在uni-app的manifest勾选uni-push的应用
2.点击进入uni-app的uni-push网页,进行相关配置
向后端人员要安卓包名以及安卓签名;向IOS要包名和开发(测试)环境/上线(通用)环境的证书与密码。
3.自动生成应用信息,提供给后端人员
证书啥的由IOS和安卓提供
4.进行云打包
获取CID,提供给后端人员
5.后端人员进行相关的配置
6. 前端一般会在登录的时候用
- 获取cid
- H5监听,实现推送
//#ifdef APP-PLUS
var cid;
let time = setInterval(() => {
info = plus.push.getClientInfo();
cid = info.clientid // 获取cid
if (cid != null) {
this.$store.commit('cid', cid)
clearInterval(time )
}
}, 1000)
/* 5+ push 消息推送 ps:使用:H5+的方式监听,实现推送*/
plus.push.addEventListener("click", function(msg) {
//这里可以写跳转业务代码
if (uni.getStorageSync('Authorization').access_token) {
uni.navigateTo({
url: msg.payload
})
} else {
uni.navigateTo({
url: "/pages/Login/login/index"
})
}
}, false);
// 监听在线消息事件
plus.push.addEventListener("receive", function(msg) {
// var payload = JSON.stringify(msg).payload;
// var payload = msg.payload.payload +'&appCarId='+msg.payload.appcarid
//【APP离线】收到消息,但没有提醒(发生在一次收到多个离线消息时,只有一个有提醒,但其他的没有提醒)
//【APP在线】收到消息,不会触发系统消息,需要创建本地消息,但不能重复创建。必须加msg.type验证去除死循环
// if (msg.type == "receive") {
//创建本地消息,发送的本地消息也会被receive方法接收到,但没有type属性,且aps是null
// plus.push.createMessage(payload.title, msg, 2222);
// }
var payload = msg.payload;
var title = payload.split('title=')[1]
console.log(title)
//【APP离线】收到消息,但没有提醒(发生在一次收到多个离线消息时,只有一个有提醒,但其他的没有提醒)
//【APP在线】收到消息,不会触发系统消息,需要创建本地消息,但不能重复创建。必须加msg.type验证去除死循环
if (msg.type == "receive") {
//创建本地消息,发送的本地消息也会被receive方法接收到,但没有type属性,且aps是null
plus.push.createMessage(msg.content, payload, {
subtitle: title
});
}
}, false);
//#endif