跳到主要内容

Push Kit简介

Push Kit(推送服务)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道。所有HarmonyOS应用可通过集成Push Kit,实现向应用实时推送消息,使消息易见,构筑良好的用户关系,提升用户的感知度和活跃度。

快速入门

请参考使用入门章节快速了解接入Push Kit(推送服务)的必要步骤。

产品优势

  • 稳定的消息发送通道

    Push Kit通过提供系统级长连接,实现即使应用进程不存在,也能实时推送消息。

  • 丰富的消息呈现样式

    支持文本样式、通知大图标样式、多行文本样式、角标样式等多种消息展示方式,满足您多样化、个性化的消息发送需求。

  • 灵活的场景化消息

    开发者可以根据实际场景灵活接入场景化消息。如通过应用内通话消息实现音视频通话,通过语音播报消息实现语音播报业务处理,通过后台消息实现配置更新等。

推送消息提示场景

推送消息指的是应用通过Push Kit发送的,在华为终端设备上显示的通知消息。显示场景主要包括通知中心、锁屏、横幅、桌面图标角标与通知图标。

有关各场景的详细说明请参见通知提示场景

推送消息类型

Push Kit支持以下消息类型:

消息类型说明
通知消息通知消息由Push Kit直接下发,在终端设备的通知中心、锁屏、横幅等展示,用户点击后拉起应用。 您可以设置通知消息样式来吸引用户。 常见场景:行程提醒、账号动态等。
语音播报消息当用户终端收到您发送的语音播报消息后,Push Kit会拉起应用的子进程,您可以在子进程中自行处理业务。 常见场景:语音播报。
卡片刷新消息通过卡片刷新服务,在合适场景向用户即时推送卡片内容,提升用户的感知度和活跃度。 常见场景:打车出行、快递动态等。
后台消息终端设备接收到后台消息后,如果应用进程在前台则将消息内容传给应用;如果应用进程不在前台则缓存消息,等待应用启动后再传给应用。 常见场景:用于告知应用更新配置参数。
实况窗消息应用服务端向Push Kit服务端发送创建或更新实况窗的请求,创建实况窗,或更新实况窗内容。 常见场景:赛事比分更新,出行打车状态更新等。
应用内通话消息支持应用实现网络音视频通话的能力。 常见场景:网络音视频通话。

业务流程

使用Push Kit的主要业务流程如下:

  1. 应用调用Push Kit,获取Push Token。
  2. 应用成功获取Token后,建议及时上报Token等信息至应用服务端。
  3. 应用服务端向华为Push Kit服务端(Push Cloud)发送推送消息请求。应用的通知开关默认关闭,发送请求前,请先请求通知授权,详情请参见请求通知授权
  4. Push Kit服务端下发消息到Push Kit。
  5. Push Kit进行消息处理。

约束和限制

影响送达率的因素说明

Push Kit致力于提供安全可靠的系统级消息发送通道,保障消息成功送达。影响消息送达率的因素如下:

  • 终端设备是否在线。如果设备离线,Push Kit会缓存消息,待设备上线后,再将消息推送给设备。
  • 终端设备上应用是否被卸载。
  • 终端设备的网络状况是否稳定。
  • 终端设备的安全控制策略。

推送消息的及时性

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

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

推送消息长度与数量限制

  • 消息体最大不能超过4096Bytes(不包括Token),若超过请求会返回错误码80300008
  • 每个项目每日全网最多可推送1000条测试消息,正式消息区分场景有不同的配额,参考消息频控说明。

网络受限说明

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

端口号:

  • 5223
  • 443

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

支持的国家/地区

Push Kit当前支持的设备中Wearable设备支持的国家请参见支持的国家/地区,其他设备仅支持中国境内(香港特别行政区、澳门特别行政区、中国台湾除外)。

支持的设备

推送服务能力支持Phone、Tablet、PC/2in1、Wearable、TV设备。

云真机说明

Push Kit不支持云真机调试。

模拟器支持情况

Push Kit支持模拟器,但与真机存在部分能力差异,具体差异如下。

  • 通用差异:请参见“模拟器与真机的差异”。
  • 模拟器不支持推送语音播报消息、推送实况窗消息、推送应用内通话消息。

与相关Kit的关系

示例代码

Push Kit(推送服务)示例代码,请参考示例代码