java/C# 调用unipush2.0

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

本文作者:admin

本文链接:https://www.javalc.com/post/100.html

版权声明:本篇文章于2022-08-12,由admin发表,转载请注明出处:分享你我。如有疑问,请联系我们

xray 前置实现复用443端口

发表评论

取消
扫码支持