uniPush2.0推送
一、开通uniPush2.0
1.实名认证
登录DCloud开发者中心,通过实名认证
2.进入UniPush控制台
- HBuilderX中打开项目的manifest.json文件
- 导航在“App模块配置” → 项的“Push(消息推送)” → “UniPush”下点击配置 或者申请开通。

3.配置应用信息
在UniPush开通界面配置以下信息:
- Android包名
- Android应用签名
- iOS Bundle Id 点击"开通"完成服务启用

详细说明请参考 UniPush开通指南
二、推送服务对接
1. 配置uniCloud服务
- 开通uniCloud服务(推荐阿里云)
- 创建云函数,用于处理推送逻辑
- 详细步骤参考官方文档


2. 添加push模块
设置targetSdkersion(targetSdkersion过高有些手机运行不了)
找到刚刚添加的push模块,创建云函数处理推送请求:

'use strict';
const uniPush = uniCloud.getPushManager({
appId: "__UNI__****"
})
exports.main = async (event) => {
let obj = JSON.parse(event.body)
const res = await uniPush.sendMessage({
"push_clientid": obj.cids, // 设备id,支持多个以数组的形式指定多个设备,如["cid-1","cid-2"],数组长度不大于1000
"title": obj.title, // 标题
"content": obj.content, // 内容
"payload": obj.data, // 数据
"force_notification": true, // 服务端推送 需要加这一句
"request_id": obj.request_id //请求唯一标识号,10-32位之间;如果request_id重复,会导致消息丢失
})
return res //一定要return回去
};
3.部署云函数
右键点击新建的云函数,选择"上传部署"
4.配置云函数URL化
- 进入uniCloud控制台
- 找到已上传的云函数并查看详情

- 配置云函数url化,设置URL的PATH部分(作用是,后端直接调接口然后进行推送)

- 完成后获得完整URL用于后端调用

5. 客户端监听处理
onLaunch() {
// #ifdef APP-PLUS
plus.push.addEventListener("click", function(msg) {
console.log(msg);
uni.switchTab({
url:'/pages/user/index'
})
}, false);
uni.getPushClientId({
success: res => {
//这个id要和用户绑定好,推送消息需要使用
console.log(res.cid);
}
})
// #endif
}
参考资料:
6. 构建自定义基座
- 勾选配置文件(如果要配置离线,请先看下面厂商集成那部分)
- 打包并运行自定义基座

7.测试验证
运行自定义基座前:
- 卸载手机中所有相关历史应用
- 获取并验证 cid 是否正确获取

三、厂商集成
1.勾选集成厂商
参考集成厂商配置指南

2.DCloud工作台配置厂商信息
3.详细集成文档
各厂商具体集成方式参考厂商集成指南
四、后端推送集成
1. yml配置
UniPush配置 云函数 URL 化地址

2. 推送消息
PushMessageDTO pushMessageDTO = new PushMessageDTO();
pushMessageDTO.setTitle("标题"); //推送标题
pushMessageDTO.setUserIds(Arrays.asList(userIds)); //推送用户
pushMessageDTO.setContent("内容"); //推送内容
//调用推送发放
sysBaseApi.uniPushMsgToUser(pushMessageDTO);
五、常见问题
参考常见问题解答