首先按照uniapp的文档添加 unipush服务
添加unipush服务文档
注意:
没有使用 uni-id-pages 时执行云函数只有一个”opendb-tempdata”表并不会像文档所说有三个表
修改 package.json文件
{
"name": "uni-push-api",
"dependencies": {},
"version": "1.0.0",
"main": "index.js",
"extensions": {
"uni-cloud-push": {}
}
}
注意此文件内不能出现注释
修改同级目录中的 index.js文件
'use strict';
const uniPush = uniCloud.getPushManager({
appId: "__UNI__120F7BB"
}) //注意这里需要传入你的应用appId
exports.main = async (event, context) => {
console.log('event',event)
let body = event.body
if(event.isBase64Encoded){
body = Buffer.from(body)
}
const param = JSON.parse(body)
return await uniPush.sendMessage({
"push_clientid": param.push_clientid,
"title": param.title,
"content": param.content,
"payload": param.payload,
"force_notification": true,
"request_id": param.request_id,
"badge": param.badge
})
};
/**
* 云函数的传入参数有两个,一个是event对象,一个是context对象。event指的是触发云函数的事件,当客户端调用云函数时,
* event就是客户端调用云函数时传入的参数。context 对象包含了此处调用的调用信息和运行状态,
* 可以用它来了解服务运行的情况。
* uniCloud会自动将客户端的操作系统(os)、运行平台(platform)、应用信息(appid)等注入context中,
* 开发者可通过context获取每次调用的上下文
*/
// exports.main = async (event, context) => {
// console.log(event)
// console.log("-------------------")
// console.log(context)
// return await uniPush.sendMessage({
// "push_clientid": "99631208be697d1f2eeaaeeddc37ecce", //填写上一步在uni-app客户端获取到的客户端推送标识push_clientid
// "title": "通知栏显示的标题",
// "content": "通知栏显示的内容",
// "payload": {
// "text":"体验一下uni-push2.0"
// },
// "badge":1
// })
// };
目录结构如下:
然后上传部署
转化URL地址
- 登录后台找到如下图
然后点击详情进去
2.填写URL路径找到如下图部分
然后点击”编辑”把红框部分填写。红框部分根据自己需要填写。这里我用”/push”
请求测试
使用postmain或后台编码测试
这里我使用POSTMAIN测试
push_clientid 是如下代码获得的标识
// uni-app客户端获取push客户端标记
uni.getPushClientId({
success: (res) => {
let push_clientid = res.cid
console.log('客户端推送标识:',push_clientid)
},
fail(err) {
console.log(err)
}
})
这里要注意的是只能使用自定义的基座或正式云打包的APP
评论区