鸿蒙 消息推送服务:使用入门(一)

开发中,消息推送是提升用户活跃度的重要方式。Push Kit(推送服务)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道。

一、Push Kit 推送

优势 说明
稳定的消息发送通道 通过系统级长连接,即使应用进程不存在,也能实时推送消息
丰富的消息呈现样式 支持文本样式、通知大图标样式、多行文本样式、角标样式等多种展示方式
灵活的场景化消息 支持应用内通话消息、语音播报消息、后台消息等场景化消息

推送消息在终端设备上的显示场景包括:通知中心、锁屏、横幅、桌面图标角标与通知图标。

二、推送消息类型

消息类型 说明 常见场景
通知消息 Push Kit直接下发,在通知中心、锁屏、横幅等展示,用户点击后拉起应用 行程提醒、账号动态
语音播报消息 收到消息后拉起应用子进程,自行处理业务 语音播报
卡片刷新消息 在合适场景向用户推送卡片内容 打车出行、快递动态
后台消息 应用进程在前台时传给应用;不在前台时缓存,等待应用启动后再传 配置参数更新
实况窗消息 创建或更新实况窗内容 赛事比分更新、出行打车状态更新
应用内通话消息 支持网络音视频通话 网络音视频通话

三、业务流程

复制代码
应用调用Push Kit,获取Push Token
    ↓
应用上报Token至应用服务端
    ↓
应用服务端向华为Push Kit服务端发送推送消息请求
    ↓
Push Kit服务端下发消息到Push Kit
    ↓
Push Kit进行消息处理

注意:应用的通知开关默认关闭,发送请求前,请先请求通知授权。

四、其他

4.1 影响送达率的因素

因素 说明
设备在线状态 离线时缓存消息,上线后再推送
应用是否被卸载 卸载后无法送达
网络状况 是否稳定
安全控制策略 系统安全策略

4.2 推送消息的及时性

在终端设备网络条件良好且不拥堵情况下,Push Kit将使用智能推送策略以减少推送消息的时延。

说明:为降低对用户的打扰,系统会学习用户的行为习惯,预测用户的睡眠时间,在用户睡眠期间实施消息管控。在此期间Push Kit将暂时缓存该时间段内收到的消息(应用内通话或category=VoIP的消息除外)。用户结束睡眠后,Push Kit会将消息重新投递到对应设备。

4.3 消息长度与数量限制

限制项 说明
消息体大小 最大不能超过4096Bytes(不包括Token)
测试消息 每个项目每日全网最多可推送1000条测试消息
正式消息 区分场景有不同的配额

4.4 网络受限说明

如果终端设备连接的网络配置了防火墙或处于受限的网络下,可能会影响消息送达率,请检查以下端口号是否被禁用:

  • 5223

  • 443

说明:终端设备连接的推送服务器的IP是动态分配的,无法通过配置IP白名单方式放行。建议连接不受限的网络或放通以上端口。

4.5 模拟器支持情况

Push Kit不支持云真机调试。支持模拟器,但存在以下差异:

功能 模拟器支持
通用差异 参见模拟器与真机的差异
语音播报消息 不支持
实况窗消息 不支持
应用内通话消息 不支持

五、开发流程

序号 步骤 说明
1 开通推送服务 参考操作步骤开通,使用手动签名方式(DevEco Studio 6.0.0 Beta5开始支持自动签名)
2 申请通知消息自分类权益 根据通知消息分类标准申请对应场景化消息权益
3 客户端获取Push Token 调用Push Kit REST API时需要设置token参数
4 客户端请求通知授权 调用requestEnableNotification()方法弹出提醒
5 客户端配置skills标签 确保点击消息可以正常跳转应用页面
6 服务端基于服务账号生成鉴权令牌 调用REST API时设置Authorization参数
7 服务端调用REST API推送场景化消息 参考请求体结构说明发送REST API请求
8 (可选)开发消息回执 获取消息送达状态
9 (可选)客户端收到并处理消息 进行服务端和客户端的数据传递

注意事项

注意事项 说明
Push Token变化 若设备的Push Token发生变化但服务端未更新token,设备将收不到消息
频控限制 未开通权益或权益类型与请求体中category不一致,消息将归为资讯营销类,受频控限制
调测阶段 建议设置testMessage为true,防止被频控
版本迁移 若之前基于HarmonyOS 3.x/4.x接入Push Kit,现在需要为HarmonyOS Next/5.x推送,客户端和服务端仍需重新开发

六、其他相关Kit服务

相关Kit 关系
Notification Kit 本地推送通知
Form Kit 推送卡片刷新消息
Live View Kit 推送实况窗更新消息
Call Service Kit 推送应用内通话消息
相关推荐
大雷神2 小时前
【共创季稿事节】HarmonyOS 6.1 创新特性适配实战:双镜记忆相机从 6.0 到 6.1 的升级记录
harmonyos
互联网散修2 小时前
鸿蒙实战:快递地址图片识别与自动填充
华为·harmonyos·快递地址智能识别
G_dou_10 小时前
Flutter三方库适配OpenHarmony【countdown_timer】倒计时器项目完整实战
flutter·harmonyos
特立独行的猫a11 小时前
Tauri 应用移植到 OpenHarmony/鸿蒙PC完整指南
华为·rust·harmonyos·tauri·移植·鸿蒙pc
互联网散修12 小时前
鸿蒙实战:文字放大镜精确跟随手指放大
华为·harmonyos
金启攻14 小时前
【鸿蒙应用开发实战·食光篇】第二篇:首页与菜系导航——圆形封面与美食榜单
华为·harmonyos
JohnnyDeng9415 小时前
【鸿蒙】ArkUI 列表性能优化:LazyForEach 与组件复用深度解析
性能优化·harmonyos·arkts·鸿蒙·arkui
●VON16 小时前
AtomGit Flutter鸿蒙客户端:设置页面
flutter·华为·跨平台·harmonyos·鸿蒙
FrameNotWork16 小时前
HarmonyOS6.1 AI 模型管理架构设计与最佳实践
人工智能·harmonyos