帮你快速理解、总结文档立即下载

HarmonyOS

最近更新时间:2026-09-02 11:19:30
我的收藏
本文介绍如何在本地快速跑通腾讯云推送服务(TIMPush)的 HarmonyOS 体验 Demo,验证“注册推送 > 鸿蒙通道下发 > 通知栏展示”的完整链路。

说明:
Demo 地址:Tencent-RTC/TIMPush_DemoHarmony/ 目录)。
Demo 为未配置任何参数的纯净模板,需按下文完成配置后方可编译运行。
产品能力说明请参见 推送服务产品概述

前置准备(控制台)

跑通 Demo 前,请先在腾讯云控制台完成账号与鸿蒙通道准备:
1. 创建应用:登录 即时通信 IM 控制台,在应用列表单击创建应用接入,记录生成的 SDKAppID
2. 获取密钥:进入目标应用的应用配置,单击查看密钥,拷贝并妥善保管 SDKAppID 与客户端密钥 AppKey
注意:
推送服务的客户端密钥与 Chat 的密钥不同,请勿混用。密钥属于敏感信息,请勿提交到代码仓库。
3. 配置鸿蒙离线通道:在 AppGallery Connect(AGC) 注册应用并开通 Push Kit,然后在控制台推送服务页配置 HarmonyOS 离线推送通道。详细步骤请参见 鸿蒙厂商配置

环境要求

项目
要求
开发工具
DevEco Studio(兼容 SDK 5.0.0(12),target SDK 6.0.0(20))
测试设备
HarmonyOS 真机(离线推送必须通过真机验证)
控制台准备
已完成 前置准备,拿到 SDKAppID / AppKey

跑通步骤

快捷方式:控制台下载预配置 Demo(推荐)

除 GitHub 纯净模板外,您还可以在控制台一键下载已按您的配置组装好的 Demo,下载入口为:推送服务 Push > 推送设置 > 下载推送 Demo
该 Demo 已根据控制台配置完成以下注入,下方步骤 2、步骤 3无需再手动修改:
AppScope/app.json5:已写入 bundleName
EntryAbility.etsIndex.ets:已写入 SDK_APP_ID / APP_KEY
entry/src/main/resources/rawfile/timpush-configs.json:已写入鸿蒙通道证书 ID(businessID)。
您只需完成与证书 / 厂商相关的配置:在 AGC 创建应用(包名须与 bundleName 一致)并开通 Push Kit、在 DevEco Studio 中配置签名(File > Project Structure > Signing Configs,须与 AGC 应用匹配),然后 ohpm install 并连接真机运行。

步骤 1:安装依赖

用 DevEco Studio 打开 Harmony/ 目录自动同步依赖,或命令行执行 ohpm install。Demo 依赖声明见 entry/oh-package.json5
"dependencies": {
"@tencentcloud/imsdk": "^9.0.7652",
"@tencentcloud/timpush": "^8.7.7203"
}

步骤 2:修改 bundleName

打开 AppScope/app.json5,将 bundleName(默认 com.tencentcloud.imdemo)修改为您自己的包名,须与控制台及 AGC 中注册的一致
{
"app": {
"bundleName": "com.your.package"
}
}

步骤 3:填写 SDKAppID 与 AppKey

占位符出现在两个文件中,均需替换为实际值:
entry/src/main/ets/entryability/EntryAbility.ets
entry/src/main/ets/pages/Index.ets
const SDK_APP_ID: number = 0; // 改为您的 SDKAppID
const APP_KEY: string = ''; // 改为您的 AppKey

步骤 4:确认权限与通道配置

Demo 已在 entry/src/main/module.json5 中声明 ohos.permission.INTERNETohos.permission.GET_NETWORK_INFO 权限,无需额外修改。
确认 AGC 已开通 Push Kit、IM 控制台已完成鸿蒙离线通道配置,且两处包名与 bundleName 一致。

步骤 5:运行验证

连接 HarmonyOS 真机,选择 entry 模块直接 Run。注册成功后界面显示 RegistrationID;将 App 切至后台,通过控制台推送服务 Push > 接入测试发送一条测试推送,设备收到推送即代表全流程跑通。

Demo 关键代码导览

文件
说明
EntryAbility.ets
onCreate() 中依次执行 addPushListenerinitSDKregisterPushonDestroy() 中调用 removePushListener
Index.ets
Demo UI,演示 registerPush / unRegisterPush / getRegistrationID / setRegistrationID

注意事项

调用顺序setRegistrationID 必须在 registerPush 之前调用才会生效。
监听注册时机:推送回调须在 UIAbility 的 onCreate() 中注册。
通知点击跳转:如需点击通知跳转到指定页面,控制台厂商证书的点击后续动作请选择打开应用内指定界面并保持默认填充值不修改。
触达统计(可选):如需统计消息触达数据,请在厂商侧配置回执地址 https://api.im.qcloud.com/v3/offline_push_report/harmony
服务有效期:推送服务试用或购买到期后将自动停止推送,请及时续费。

常见问题

注册失败 / 收不到推送:确认 bundleName 与 AGC、控制台三处一致;确认 AGC 已开通 Push Kit;使用控制台推送排查工具输入 RegistrationID 自查,并按 错误码 查询失败回调中的错误码含义。

相关文档