手机端,app程序实现消息推送功能
1.manifest.json -> App模块配置 -> Push(消息推送) -> uniPush -> 配置
打包名称是发行时uni开头的包名,应用签名:自己生成
2.App.vue中添加推送代码
<script>
export default {
onLaunch: function() {
// #ifdef APP-PLUS
// 推送的回调
const _handlePush = function(message) {
/**
* 通过 vuex 来同步页面的数据,仅做演示。
* 实际开发中,这里可能是跳转到某个页面等操作,请根据自身业务需求编写。
*/
// uni.showToast({
// icon:'success',
// title:'这是点击的回调'
// })
console.log('这是点击的回调')
};
plus.push.addEventListener('click', function(message) {
// plus.nativeUI.toast('push click');
_handlePush(message);
});
plus.push.addEventListener('receive', function(message) {
// plus.nativeUI.toast('push receive');
_handlePush(message);
});
// #endif
},
onShow: function() {
// #ifdef APP-PLUS
// 获得设备的CID
var pinf = plus.push.getClientInfo();
var cid = pinf.clientid; //客户端标识
try {
uni.setStorageSync('device_cid', cid);
} catch (e) {
// error
}
// #endif
},
onHide: function() {
console.log('App Hide')
}
}
</script>
<style>
</style>
3.登录页面获取客户端标识并保存
onLoad() {
// #ifdef APP-PLUS
// 获得设备的CID
var pinf = plus.push.getClientInfo();
var cid = pinf.clientid; //客户端标识
try {
uni.setStorageSync('device_cid', cid);
const value = uni.getStorageSync('device_cid');
if (value) {
this.cidValue = value;
console.log(this.cidValue);
}
} catch (e) {
// error
}
// #endif
}