uniapp推送unipush使用

1.manifest.json  ---模块化中开启unipush

2.uniapp开发后台配置项目包名签名等---具体获取---打包信息---微信开放平台

ps:签名为特殊格式,需在java环境下查看证书密钥文件获取----

3.app.vue文件中配置监听信息:

例子:

// 监听信息
var info = plus.push.getClientInfo()
// 使用5+App的方式进行监听消息推送
plus.push.addEventListener("click", function(msg) {
console.log("click:" + JSON.stringify(msg));
console.log(msg.payload);
console.log(JSON.stringify(msg));
// onLaunch 生命周期里,页面跳转有问题,跳不过去
// 应该是页面还没加载,加上定时后,就可以了;
setTimeout(() => {
uni.navigateTo({
url: 'pages/index/index'
})
}, 1000)
}, false);
// 监听在线消息事件
plus.push.addEventListener("receive", function(msg) {
//业务代码
console.log("recevice:" + JSON.stringify(msg))
}, false);

 

4.获取设备clientId发送后端

uni.getProvider({
service: 'push',
success: e => {
that.provider = e.provider;
uni.subscribePush({
provider: that.provider[0],
success: function(res) {
var inf = plus.push.getClientInfo();

if (uni.getSystemInfoSync().platform == 'android') {
that.clientId1 = inf.clientid;
that.tokenType = 'android';
console.log(that.clientId1)
} else if (uni.getSystemInfoSync().platform == 'ios') {
that.clientId = inf.token;
that.tokenType = 'ios';
}
uni.onPush({
provider: that.provider[0],
success: e => {},
callback: e => {}
});
},
fail: function(err) {
uni.onPush({
provider: that.provider[0],
success: e => {},
callback: e => {}
});
}
});
},
fail: e => {

uni.subscribePush({
provider: that.provider[0],
success: function(res) {
uni.onPush({
provider: that.provider[0],
success: e => {},
callback: e => {}
});
},
fail: function(err) {
uni.onPush({
provider: that.provider[0],
success: e => {},
callback: e => {}
});
}
});
}
});

5.uni开发后台unipush配置中的"APPKEY", "APPID","MASTERSECRET",交予后端

上一篇:Docker + Jenkins + Gitlab + Pytest + Allure 接口自动化测试之持续集成实战终极教程


下一篇:超全!默认全局配置文件都在这啦 | 带你读《SpringBoot实战教程》之二