消息通知-推送服务-客户端
简介
本示例基于HarmonyOS实现了申请Push Token和推送场景化消息功能。
相关概念
- Push Kit:Push Kit(推送服务)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道。所有HarmonyOS应用可通过集成Push Kit,实现向应用实时推送消息,使消息易见,构筑良好的用户关系,提升用户的感知度和活跃度。
- Push Token:Push Token标识了每台设备上每个应用,开发者可以调用场景化消息接口,根据Token来推送消息。
- 组件:Demo中主要使用了Text、Button、Image等组件。
- pushService:本模块提供Push Kit的基础能力,包括获取和删除Push Token、绑定和解绑账号和接收场景化消息的功能。
效果预览
| 首页 | 申请Token页面 | 成功申请Token | 点击通知进入应用内页 |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
工程目录
├─entry/src/main/ets // 代码区
│ ├─abilities
│ │ ├─PushMessageAbility.ets // 消息监听事件能力类
│ │ └─TestAbility.ets // 通知栏点击事件能力类
│ ├─component // 组件
│ │ └─CallComponent.ets // VOIP组件
│ ├─entryability // 应用入口
│ │ ├─EntryAbility.ets // 主程序入口类
│ │ └─RemoteNotificationExtAbility.ets // 通知扩展进程入口类
│ ├─entrybackupability
│ │ └─EntryBackupAbility.ets // 应用提供扩展的备份恢复能力
│ ├─entryformability
│ │ └─EntryFormAbility.ets // 卡片能力类
│ ├─pages // 存放页面文件目录
│ │ ├─CalleePage.ets // 应用内通话接听页面
│ │ ├─ExamplePage.ets // 部分功能展示页面
│ │ ├─GetTokenPage.ets // 申请Token页面
│ │ ├─Index.ets // 应用主页面
│ │ └─TestAbilityPage.ets // 点击跳转落地页面
│ ├─service
│ │ └─VoipCallService.ets // 处理应用内通话消息
│ ├─voipuiability
│ │ └─VoIPUIAbility.ets // 应用内通话能力类
│ ├─widget/pages // 存放卡片页面目录
│ │ └─WidgetCard.ets // 卡片页面
└─entry/src/main/resources // 资源文件目录
开发准备
- 将app.json5文件中的包名替换为您自己应用的包名。
- 开通推送服务,详情请参考指导。
- 完成应用签名,详情请参考指导。
- 为实现消息展示后可以点击跳转到应用页面,本示例工程已经在module.json5文件中配置好skills标签,如有需要可以参考指导自行修改。
使用说明
申请Token
- 在“Push功能主页”页面点击申请Token能力,跳转到“申请Token能力”页面。
- 点击申请Token按钮,申请结果将展示在页面上,请自行保存获取的Push Token。
推送通知消息
- 若需要推送服务与通讯类消息,请先完成申请通知消息自分类权限;若仅需发送资讯营销类消息,则无需申请。
- 使用服务端DEMO,或根据指导使用Postman等其它调试工具,推送通知消息。
- 下拉状态栏,在通知中心查看消息。
- 点击通知栏消息,跳转应用的落地页。
消息撤回
- 使用服务端DEMO,或根据指导使用Postman等其它调试工具,发送通知消息,发送时请指定notifyId。
- 下拉状态栏,在通知中心查看消息。
- 使用服务端DEMO,或根据指导使用Postman等其它调试工具,撤回通知消息,撤回时需要使用消息下发时的notifyId。
- 下拉状态栏,在通知中心查看消息已消失。
推送卡片刷新消息
推送通知扩展消息
- 推送通知扩展消息前,请先完成申请推送通知扩展消息权限。
- 保持应用在前台,使用服务端DEMO,或根据指导使用Postman等其它调试工具,推送通知扩展消息。
- 查看应用在前台时,通知扩展消息的展示效果。
- 将应用切换至后台,使用服务端DEMO,或根据指导使用Postman等其它调试工具,再次推送通知扩展消息。
- 下拉状态栏,在通知中心查看消息。
- 点击通知栏消息,跳转应用的落地页。
推送后台消息
- 保持应用在前台,根据指导使用Postman等其它调试工具,推送后台消息。
- 查看接收的后台消息数据。
推送实况窗消息
推送应用内通话消息
- 推送应用内通话消息前,请先完成申请推送应用内通话消息权限。
- 使用服务端DEMO,或根据指导使用Postman等其它调试工具,推送应用内通话消息。
- 当终端处于锁屏状态时,查看锁屏通知的展示效果,可在锁屏上点击接听或拒绝按钮。锁屏状态下只支持接听语音。
- 当终端处于解锁状态时,查看网络音视频通话呼叫消息横幅展示效果,支持用户接听视频或语音。
相关权限
不涉及
约束与限制
- 本示例仅支持标准系统上运行,支持设备:华为手机、2in1、平板。
- HarmonyOS系统:HarmonyOS NEXT Developer Beta5及以上。
- DevEco Studio版本:DevEco Studio NEXT Developer Beta5及以上。
- HarmonyOS SDK版本:HarmonyOS NEXT Developer Beta5 SDK及以上。



