侧边栏壁纸
博主头像
分享你我博主等级

行动起来,活在当下

  • 累计撰写 106 篇文章
  • 累计创建 13 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

java/C# 调用unipush2.0

管理员
2022-08-12 / 0 评论 / 0 点赞 / 0 阅读 / 3929 字

首先按照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地址

  1. 登录后台找到如下图

    然后点击详情进去
    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

0

评论区