本文介绍如何在本地快速跑通腾讯云推送服务(TIMPush)的 uni-app 体验 Demo,验证“注册推送 > 离线推送下发 > 通知栏展示”的完整链路。

说明:
Demo 地址:Tencent-RTC/TIMPush_Demo(
uniapp/ 目录)。Demo 为未配置任何参数的纯净模板,需按下文完成配置后方可构建运行。
产品能力说明请参见 推送服务产品概述。
前置准备(控制台)
跑通 Demo 前,请先在腾讯云控制台完成账号与厂商通道准备:
1. 创建应用:登录 即时通信 IM 控制台,在应用列表单击创建应用接入,记录生成的
SDKAppID。2. 获取密钥:进入目标应用的应用配置,单击查看密钥,拷贝并妥善保管
SDKAppID 与客户端密钥 AppKey。注意:
推送服务的客户端密钥与 Chat 的密钥不同,请勿混用。密钥属于敏感信息,请勿提交到代码仓库。
3. 开通推送并配置厂商通道:在控制台推送服务页开通推送能力,按需配置 Android 厂商通道(小米 / 华为 / 荣耀 / OPPO / vivo / 魅族 / FCM)与 iOS APNs 通道,下载
timpush-configs.json 及各厂商服务配置文件,并记录 APNs 证书 ID。鸿蒙端请另行完成 鸿蒙厂商配置。环境要求
项目 | 要求 |
HBuilderX | 推荐 4.36 ~ 4.63 或 4.66 及以上(4.64 / 4.65 存在已知问题,请避开) |
推送插件 | TencentCloud-Push >= 1.1.0(已置于 uni_modules/;鸿蒙推送需 >= 1.3.0) |
测试设备 | Android 或 iOS 真机,且必须使用自定义调试基座(标准基座不包含厂商推送通道,无法验证离线推送) |
跑通步骤
步骤 1:确认推送插件
步骤 2:填写基础凭证
打开
App.vue,将 registerPush 中的占位符替换为实际值:// 将 0 改为您的 SDKAppID,'' 改为您的 AppKeyregisterPush(0, '', (data) => { /* ... */ });
如需与 Chat 登录
userID 打通(即向该 userID 推送消息),请在 registerPush 之前调用 setRegistrationID(userID),且 userID 必须与 Chat 登录使用的 userID 完全一致。步骤 3:放置离线推送配置文件
配置文件统一放在与
uni_modules 平级的 nativeResources/ 目录下(不存在请手动新建):平台 | 配置文件 | 放置路径 |
Android 通用 | timpush-configs.json | nativeResources/android/assets/ |
Android 华为 | agconnect-services.json | nativeResources/android/assets/ |
Android FCM | google-services.json | nativeResources/android/(不要放入 assets) |
Android 荣耀 | mcs-services.json | nativeResources/android/(不要放入 assets) |
Android 荣耀 / vivo | HONOR_APPID / VIVO_APPKEY / VIVO_APPID | nativeResources/android/manifestPlaceholders.json |
iOS | timpush-configs.json(内容为 {"businessID":"您的证书 ID"}) | nativeResources/ios/Resources/ |
对于荣耀 / vivo / FCM,还需编辑
uni_modules/TencentCloud-Push/utssdk/app-android/config.json,在 dependencies / plugins 中补充对应厂商依赖(FCM 需添加 com.google.gms.google-services 插件),详见 uni-app SDK 接入。步骤 4:制作自定义调试基座并运行
1. 在 HBuilderX 中单击运行 > 运行到手机或模拟器 > 制作自定义调试基座,使用云端证书分别制作 Android / iOS 自定义调试基座(鸿蒙端无需自定义基座)。
2. 基座制作完成后,运行到真机。
3. 注册成功后,将 App 切至后台,通过控制台推送服务 Push > 接入测试发送一条测试推送,设备收到推送即代表全流程跑通。
注意事项
隐私合规:请在 App 启动且用户同意隐私政策后调用
registerPush。调用顺序:
setRegistrationID 必须在 registerPush 之前调用才会生效;混用场景下其值须与 Chat 登录 userID 完全一致,否则会产生账号互踢导致推送丢失。事件监听:Demo 通过
addPushListener 监听 EVENT.NOTIFICATION_CLICKED(通知点击)/ EVENT.MESSAGE_RECEIVED(在线推送)/ EVENT.MESSAGE_REVOKED(消息撤回),可参考 App.vue。基座要求:离线推送在标准基座下不可用;每次修改
nativeResources/ 或插件配置后,需重新制作自定义基座。常见问题
标准基座上收不到推送:标准基座不包含厂商推送通道,请改用自定义调试基座运行。
自定义基座启动崩溃:检查
config.json 中厂商依赖 / 插件配置是否正确、nativeResources/ 配置文件是否放在正确路径。收不到推送:确认已使用云端证书制作自定义基座;确认
timpush-configs.json 与厂商配置文件路径正确;使用控制台推送排查工具输入 RegistrationID 自查,并按 错误码 查询失败回调含义。相关文档
厂商配置索引
推送排查工具