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

说明:
Demo 地址:Tencent-RTC/TIMPush_Demo(
Android/ 目录)。Demo 为未配置任何参数的纯净模板,需按下文完成配置后方可编译运行。
产品能力说明请参见 推送服务产品概述。
前置准备(控制台)
跑通 Demo 前,请先在腾讯云控制台完成账号与厂商通道准备:
1. 创建应用:登录 即时通信 IM 控制台,在应用列表单击创建应用接入,记录生成的
SDKAppID。2. 获取密钥:进入目标应用的应用配置,单击查看密钥,拷贝并妥善保管
SDKAppID 与客户端密钥 AppKey。注意:
推送服务的客户端密钥与 Chat 的密钥不同,请勿混用。密钥属于敏感信息,请勿提交到代码仓库。
3. 开通推送并配置厂商通道:在控制台推送服务页开通推送能力,按需配置小米 / 华为 / 荣耀 / OPPO / vivo / 魅族 / FCM 离线通道(仅配置计划支持的厂商即可),配置完成后下载
timpush-configs.json 及各厂商服务配置文件。说明:
环境要求
项目 | 要求 |
开发工具 | Android Studio |
测试设备 | Android 真机(离线推送必须通过真机验证,且建议设备厂商与待验证的厂商通道一致) |
控制台准备 |
跑通步骤
快捷方式:控制台下载预配置 Demo(推荐)
除 GitHub 纯净模板外,您还可以在控制台一键下载已按您的配置组装好的 Demo,下载入口为:推送服务 Push > 推送设置 > 下载推送 Demo。
该 Demo 已根据控制台配置完成以下注入,下方步骤 1 ~ 步骤 3无需再手动操作:
根
build.gradle 已注入对应厂商的 maven 仓库与 classpath;app/build.gradle 已注入对应厂商的 apply plugin,并已写入 applicationId / namespace / manifestPlaceholders;MainActivity.java 已写入 SDK_APP_ID / APP_KEY;app/src/main/assets/timpush-configs.json 已写入推送配置。您只需按 步骤 4 中的表格,将已启用厂商对应的 services.json(华为
agconnect-services.json / 荣耀 mcs-services.json / FCM google-services.json)放入 app/ 目录,即可直接进入 步骤 5 运行验证。步骤 1:修改应用包名
打开
app/build.gradle,将 namespace / applicationId(默认 com.tencent.qcloud.tim.tuikit)修改为您自己的包名,须与控制台及各厂商平台注册的包名完全一致:android {defaultConfig {namespace "com.your.package"applicationId "com.your.package"}}
步骤 2:填写 SDKAppID 与 AppKey
打开
app/src/main/java/com/tencent/qcloud/tim/tuikit/MainActivity.java,替换占位符:public static final int SDK_APP_ID = 0; // 改为您的 SDKAppIDpublic static final String APP_KEY = ""; // 改为您的 AppKey
步骤 3:启用厂商通道
Demo 默认仅集成 TIMPush 基础能力,各厂商通道均以注释形式保留,请按需取消注释:
根目录
build.gradle:取消目标厂商(华为 / 荣耀 / FCM 等)的 maven 仓库与 classpath 注释。app/build.gradle:取消目标厂商(小米 / 华为 / 荣耀 / OPPO / vivo / 魅族 / FCM)的 apply plugin 与依赖项注释。若启用 vivo / 荣耀,在
app/build.gradle 的 manifestPlaceholders 中填入厂商分配的参数(未启用的厂商保持留空):manifestPlaceholders = ["VIVO_APPKEY" : "您的 vivo AppKey","VIVO_APPID" : "您的 vivo AppID","HONOR_APPID" : "您的荣耀 AppID"]
步骤 4:放置配置文件
配置文件 | 放置路径 | 获取方式 |
timpush-configs.json | app/src/main/assets/(无 assets 目录请手动新建) | 控制台配置厂商通道后生成 |
华为 agconnect-services.json | app/ 目录 | 华为 AppGallery Connect 下载 |
荣耀 mcs-services.json | app/ 目录 | 荣耀开发者服务平台下载 |
FCM google-services.json | app/ 目录 | Firebase 控制台下载 |
注意:
timpush-configs.json 必须放在应用模块的 assets 目录,不要放在工程根目录或 res 目录,否则 SDK 无法读取厂商通道配置,会导致注册或收消息失败。未启用的厂商无需放置对应文件。步骤 5:运行验证
1. 用 Android Studio 打开
Android/ 目录,等待 Gradle Sync 完成。2. 连接 Android 真机,直接单击 Run。
3. 注册成功后 Demo 界面显示
RegistrationID;将 App 切至后台,通过控制台【推送服务 Push > 接入测试】向该 RegistrationID 发送一条测试推送,设备通知栏收到推送即代表全流程跑通。Demo 关键代码导览
文件 | 说明 |
MainActivity.java | 演示 registerPush / unRegisterPush / getRegistrationID / setRegistrationID 的调用 |
DemoApplication.java | 演示通过 TIMPushListener 监听在线推送消息与通知栏点击回调 |
注意事项
真机与厂商一致:验证某厂商通道时,请使用该厂商的真机(例如不要在华为设备上验证荣耀通道),否则验证结果可能误导。
通知权限:Android 13 及以上需允许通知权限;Android 8.0 及以上需确认目标通知渠道的横幅、锁屏、声音开关已打开。
触发条件:离线推送仅在 App 处于后台或进程被杀死时触发,测试前请将 App 切至后台。
混淆规则:如需构建 Release 包,请在
proguard-rules.pro 中添加 -keep class com.tencent.qcloud.** { *; } 与 -keep class com.tencent.timpush.** { *; }。常见问题
Gradle Sync 报依赖找不到:检查厂商 maven 仓库与
classpath 是否已取消注释、版本号是否正确。registerPush 回调失败:优先查看错误信息中的厂商原始异常(如 6003: certificate fingerprint error 表示华为 / 荣耀侧 SHA-256 证书指纹未配置或不一致),并按 错误码 查询 TIMPush 错误码含义。收不到推送:请按 Android 接入文档 - 收不到推送排障流程 逐步排查,或使用控制台推送排查工具输入
RegistrationID 自查。相关文档
厂商配置索引
推送排查工具