- 关联云空间
- 在uniapp中新建云函数,然后右击‘ 管理公共模块或扩展库依赖 ’,选择 uni-cloud-push,然后会有一个index.js和package.json
'use strict';
const uniPush = uniCloud.getPushManager({appId:"__UNI__FD20B9B"})
exports.main = async (event, context) => {
console.log('event ===> ', event)
console.log('context ===> ', context)
const data = JSON.parse(event.body || '{}')
console.log('params ===> ', data)
return await uniPush.sendMessage(data)
};
- 部署后在云空间页面内可以看到云函数,进入详情后将云函数url化,最终就是服务端调用的地址
- 上架各个厂商app
- 各个厂商推送消息得配置,具体参考uniapp官方文档链接
oppo邮件申请私信通道,自定义通道id
小米申请通道id
其余参数如下
{
"push_clientid": ["457eb3313a782f485fc381bcb84d0cd0"],
"title": "报警消息",
"content": "您有一条报警消息的消息",
"payload": {
"type": 176,
"status": 3
},
"options": {
"HW": {
"/message/android/category": "EXPRESS"
},
"VV": {
"/category": "ORDER",
"/extra/callback.id":"4199"
},
"OP": {
"/channel_id": "427"
},
"HO": {
"/android/notification/importance": "NORMAL"
},
"XM": {
"/extra.channel_id": "122959"
}
},
"force_notification": true,
"request_id": "54421321321321131321111"
}
- 在app.vue中设置点击逻辑
onLaunch: function () {
console.warn(
"当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!"
);
console.log("App Launch");
uni.onPushMessage((res) => {
console.log("收到推送消息:", res);
let { payload } = res.data;
let { type, status } = payload;
switch (status) {
case 1:
uni.navigateTo({
url: `/pages/message/deviceSos/messageInfo?messageId=${type}&&pageType=${status}`,
});
break;
case 3:
uni.navigateTo({
url: `/pages/message/application-for-unlocking/sp-info?id=${type}`,
});
break;
case 4:
uni.navigateTo({
url: `/pages/message/application-for-unlocking/apply-info?id=${type}`,
});
break;
default:
break;
}
});
},