unipush消息推送-离线、在线

本文介绍了如何在HBuilder中使用uni-push进行在线和离线消息推送,包括开通服务、代码配置、打包测试,以及iOS和Android(荣耀)的证书申请与问题解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 uni-push双端消息推送-在线、离线

----在线推送----

一、开通uni-push服务

  • 开通消息推送服务,建议开通2.0版本,填好所需内容

云服务空间使用阿里云免费版本进行测试uniCloud控制台

二、Hbuilder代码配置

  • 在manifest.json中勾选push消息推送

  • 关联服务空间、右键创建云开发环境

  • 右键关联云服务空间

  • 在cloudfunctions右键新建云函数,添加uni-cloud-push依赖

  • 在新建好的index.js中填写以下代码,自行填写appId和cid(push_clientid)

// 简单的使用示例  
'use strict';  
const uniPush = uniCloud.getPushManager({appId:"__UNI__******"}) //注意这里需要传入你的应用appId  
exports.main = async (event, context) => {  
    return await uniPush.sendMessage({  
        "push_clientid": "147160e8f371c0********",     //填写上一步在uni-app客户端获取到的客户端推送标识push_clientid  
        "force_notification":true,  //填写true,客户端就会对在线消息自动创建“通知栏消息”。  
        "title": "第一条离线通知",      
        "content": "新年快乐,龙年大吉!!!",  
        "payload": {  
            "text":"体验一下uni-push2.0"  
        },  
        "options":{  
            "HW": {      
                 // 值为int 类型。1 表示华为测试消息,华为每个应用每日可发送该测试消息500条。此 target_user_type 参数请勿发布至线上。      
                  "/message/android/target_user_type":1      
              } ,    
            "VV": {      
                 //值为int 类型。0 表示正式推送;1 表示测试推送,不填默认为0。此 pushMode 参数请勿发布至线上。  
                  "/pushMode":1      
              }    
        }  
    })  
};
  • cid(push_clientid)获取方式:在项目App.vue中填写以下代码,下一步骤运行代码时,cid通过控制台进行打印

      var timer = setTimeout(function() {
                    console.log("异步获取客户端推送标识信息");
                    plus.push.getClientInfoAsync(function(info) {
                        if (info.clientid) {
                            clearInterval(timer);
                            uni.setStorageSync('cid', info.clientid)
                            //将cid在登录时一起传给后端,和用户信息存在数据库中。
                            console.log("clientid", JSON.stringify(info.clientid));
                        }
                    }, function(e) {
                        console.log(JSON.stringify(e));
                    })
      
                }, 3000);

三、打包运行测试

  • 填写相关证书信息,选择自定义调试基座进行打包

  • 打包完成后,运行到自定义基座

  • 运行完成后,通过控制台拿到cid

  • 填写好相关的appid和cid,右键创建好的云函数文件夹,上传并运行,在线推送配置完成


----离线推送----

  • 离线推送需要配置相关推送证书,小米、oppo、vivo、魅族分机型需要上线应用商店,华为和荣耀暂时不需要上应用商店,下方讲解如何创建证书

  • 荣耀机型为例,在厂商推送设置,填写好相关证书信息

  • 重新运行基座,将cid输入,看是否成功返回token

  • 将手机应用退出,右键创建好的云函数文件夹,上传并运行

---

----证书创建----

一、iOS证书

参考个推官方文档iOS 证书配置指南-个推文档中心

二、安卓证书(荣耀机型为例)

  • 在Dcloud中申请安卓证书

  • 注册荣耀账号Honor ID

  • 点击应用服务中的推送服务,申请推送服务(企业认证)

  • 填写应用名称,包名,指纹证书(在Dcould应用中点击证书详情查看)

  • 提交完成后点击查看即可获取相关信息

  • 维护到Dcloud厂商推送配置中

----问题解决----

一、证书配置完成,获取不到token

  • 多数是因为云端证书和打包证书配置不一致,6003错误码

解决:【FAQ】推送获取push token报错6003,如何排查?_6003错误码-优快云博客

细节较多,部分步骤未做详细说明,祝你成功!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值