UniApp 快速集成个推推送(UniPush2.0)完整实战教程
uni-app 接入个推官方推荐用uni-push 2.0底层由个推提供不用自己集成原生 SDK全程在 HBuilderX DCloud 开发者中心配置即可。下面按“开通→配置→客户端→测试→常见坑”一步步来。一、基本概念个推Getui第三方推送服务商提供在线/离线推送。uni-push 2.0DCloud 与个推合作的统一推送服务内置个推厂商通道华为/小米/OPPO/VIVO/iOS。CIDClientId设备唯一推送标识用于发消息给指定用户。在线推送App 前台运行走个推长连接。离线推送App 后台/被杀走厂商通道必须配置厂商证书。二、开通 uni-push 2.0必须登录DCloud 开发者中心https://dev.dcloud.net.cn创建应用填写包名Android/Bundle IDiOS左侧菜单 →uni-push→ 选择2.0→立即开通开通后会拿到AppIDDCloud 应用IDAppKey/AppSecretuni-push 后台生成个推后台自动创建应用无需单独去个推官网创建三、客户端配置HBuilderX1. manifest.json 开启 uni-push打开 manifest.json →App模块配置→ 勾选uni-push 2.0保存后必须重新编译或自定义基座2. 配置包名/证书关键Android包名io.dcloud.xxxx与开发者中心一致云打包发行 → 原生APP-云打包 → 填写包名、签名证书iOSBundle ID与开发者中心、苹果证书一致开启推送能力Xcode → Signing Capabilities → 添加Push Notifications3. 制作自定义调试基座必做标准基座不含推送模块直接运行会报错发行 → 原生APP-云打包 → 勾选制作自定义调试基座→ 打包打包成功后运行 → 运行到手机 → 勾选使用自定义基座→ 运行四、前端代码获取CID监听消息1. 获取 CID设备标识// 在 App.vue 的 onShow 或首页 onReady 调用uni.getPushClientId({success:(res){constcidres.clientId;console.log(推送CID,cid);// 把 cid 传给后端用于定向推送},fail:(err){console.error(获取CID失败,err);}});2. 监听推送消息在线离线// App.vue 全局监听uni.onPushMessage((res){console.log(收到推送,res);const{type,data}res;// type: notify通知/ transmit透传// data: 推送内容title、content、payload 等// 示例收到通知后弹框if(typenotify){uni.showModal({title:data.title,content:data.content,showCancel:false});}});五、厂商通道配置离线推送必备Android厂商通道限额厂商应用开通指南Android 厂商华为/小米/OPPO/VIVO分别注册对应厂商开发者平台创建应用获取AppID/AppKey/AppSecret在 DCloud 开发者中心 → uni-push →厂商配置填写对应信息iOS 推送证书苹果开发者后台 → 生成Push Notification 证书.p12DCloud 开发者中心 → uni-push → iOS 配置 → 上传 .p12 证书 密码六、测试推送1. 控制台测试快速验证安卓/鸿蒙厂商推送应用创建配置流程苹果厂商证书配置流程DCloud 开发者中心 → uni-push →推送测试→ 输入 CID → 发送通知/透传2. 个推后台查看数据uni-push 开通后自动同步到个推后台https://dev.getui.com可查看推送记录、设备在线率、到达率七、常见问题与避坑收不到推送在线未用自定义基座运行manifest 未勾选 uni-push 2.0网络限制公司内网/防火墙收不到离线推送Android未配置厂商通道华为/小米等iOS证书错误、Bundle ID 不匹配、未开启推送能力应用被系统清理关闭后台运行CID 获取失败包名/Bundle ID 与开发者中心不一致未重新编译或未用自定义基座iOS 在线收不到通知iOS 限制在线只能收透传通知仅离线显示解决透传里自定义内容前端弹框模拟通知八、与直接集成个推原生 SDK 的区别✅uni-push 2.0DCloud 封装一行代码接入自动适配厂商通道维护成本低❌原生集成个推 SDK需写 Android/iOS 原生代码手动适配厂商复杂且易出错结论uni-app 接入个推首选 uni-push 2.0按上述步骤配置即可快速实现在线离线推送。要不要我给你一份可直接复制的App.vue完整代码含CID获取、消息监听、点击通知跳转