uniapp使用uni-push2.0在线离线推送

  1. 关联云空间
  2. 在uniapp中新建云函数,然后右击‘ 管理公共模块或扩展库依赖 ’,选择 uni-cloud-push,然后会有一个index.js和package.json
// 这里注意index.js在部署前不能写死,具体参考如下
'use strict';
const uniPush = uniCloud.getPushManager({appId:"__UNI__FD20B9B"}) //注意这里需要传入你的应用appId
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)
};
  1. 部署后在云空间页面内可以看到云函数,进入详情后将云函数url化,最终就是服务端调用的地址
  2. 上架各个厂商app
  3. 各个厂商推送消息得配置,具体参考uniapp官方文档链接
oppo邮件申请私信通道,自定义通道id
小米申请通道id
其余参数如下
{
    // 要推送的设备cid,建议这里单推,oppo私信通道只能一个个发送
    "push_clientid": ["457eb3313a782f485fc381bcb84d0cd0"], 
    "title": "报警消息",
    "content": "您有一条报警消息的消息",
    // 消息类型参数,前端可根据参数跳转不同页面
    "payload": {
        "type": 176,
        "status": 3
    },
    "options": {
        // 华为配置
        "HW": {
            "/message/android/category": "EXPRESS"
        },
        // vivo配置
        "VV": {
            "/category": "ORDER",
            // vivo回执id
            "/extra/callback.id":"4199"
        },
        // oppo私信通道id,自定义后邮件申请
       "OP": {
          "/channel_id": "427"
        },
        // 荣耀配置
        "HO": {
            "/android/notification/importance": "NORMAL"
        },
        // 小米通道id
        "XM": {
            "/extra.channel_id": "122959"
        }
    },
    // 服务端推送必须加,推送后客户端自动生成弹出消息
    "force_notification": true,
    // 确保唯一,可以用时间戳
    "request_id": "54421321321321131321111"
}
  1. 在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;
     }
   });
 },
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值