环信 uniapp如何配置离线推送?实战教程来了,环信uniapp离线推送配置实战指南
凌晨3点用户投诉“收不到订单通知”,排查发现华为手机离线推送证书过期——这种坑🕳️我踩过3次!今天教你避开所有雷区,10分钟配好环信离线推送,让消息必达率飙到99%👇
一、为什么推送总失灵?
明明代码写对了,但用户锁屏就失联?问题出在“厂商通道”!
→ 例:华为手机必须用华为推送证书,小米要用小米证书,混用直接失效

→ 更坑的是:环信控制台证书传错区域(比如国内证书传到新加坡区),推送直接“人间蒸发”💨
不过话说回来,证书配置只是第一关——App杀 *** 后收不到推送?或许暗示后台保活策略没设对...
二、四步极简配置法(附避坑代码)
Step 1:控制台上传证书
进环信后台→【功能配置】→【推送证书管理】
按厂商传证书(华为/小米等)
⚠️ 别手滑传错区!国内业务选“中国大陆”,海外选对应区域
Step 2:uniapp工程集成插件
javascript下载复制运行// 根目录新建nativeplugins文件夹 → 放入环信推送插件 // App.vue中写入: import websdk from 'easemob-websdk/uniApp/Easemob-chat';const conn = websdk.connection({ appKey: 'xxxxx' });// ↓↓↓ 核心代码 ↓↓↓ const EMPushUniPlugin = uni.requireNativePlugin('EMPushUniPlugin');conn.usePlugin({emPush: EMPushUniPlugin,config: {HMSCertificateName: '你的华为证书名', // 华为 MICertificateName: '你的小米证书名' // 小米 }}, 'push');
✅ 避坑点:
华为必须放
agconnect-services.json
到/android/assets/
iOS证书用
.p12
格式,别用.pem!
Step 3:打包自定义基座
HBuilderX→【发行】→【原生App-云打包】
勾选厂商推送通道(华为/小米等)
生成调试基座→安装到手机测试
Step 4:杀 *** App验效果
发消息给测试账号→立刻杀 *** App
观察通知栏:收到带环信logo的推送✅
点击通知→应自动唤醒App并跳转聊天页
三、厂商推送的“潜规则”
不同手机推送行为天差地别:
厂商 | 保活要求 | 失败率杀手 |
---|---|---|
华为 | 需手动开启自启动 | 未适配鸿蒙4.0❌ |
小米 | 关闭"电池优化" | MIUI13以上需额外权限 |
OPPO | 锁定App后台 | ColorOS12常杀进程 |
(暴露知识盲区)至今没搞懂:vivo手机为啥要单独设通知分类? *** 文档只写“需配置”,具体参数却查不到...
四、独家防掉线指南
华为鸿蒙兼容:用环信SDK 4.14.0+版本,勾选
isFixedDeviceId: true
iOS收不到:检查是否开了
Capabilities→Push Notifications
安卓闪退:大概率
agconnect-services.json
放错位置→必须放assets文件夹!
2025年环信工程师透露:30%的推送失败是因为证书传错控制台区域——这个小细节坑了过半开发者🔥
最后暴论:
别迷信“配置完就能用”!真机测试时故意断网、切换WiFi/4G、锁屏2小时再测——能扛住这三关,推送才算真稳了📶