HarmonyOS 鸿蒙Next中app消息推送
HarmonyOS 鸿蒙Next中app消息推送 有没有app消息推送集成的指导文档?
4 回复
通过Push Kit向元服务(或应用)推送消息的方法如下:
-
推送基于账号的订阅消息:
- 参考开通服务通知并选用订阅模板指南,确保元服务(或应用)开通推送服务并领用消息订阅模板。
- 元服务(或应用)领用服务通知模板后,调用serviceNotification.requestSubscribeNotification()方法发起消息订阅向登录华为账号的用户发起订阅请求,Push Kit将向用户弹出授权弹窗。当用户同意订阅(ResultCode的值为0),元服务(或应用)可基于账号推送消息。详情见发起基于账号的订阅请求开发指导。
- 当用户授权同意订阅消息模板后,元服务(或应用)的服务端主动调用服务通知REST API接口,向登录了账号的设备发送订阅消息。详情见推送基于账号的订阅消息。
-
推送基于账号的服务动态消息:详情见推送基于账号的服务动态消息。
-
本示例基于HarmonyOS实现元服务(或应用)发起基于账号的订阅请求。
- 将app.json5文件中的包名替换为您自己的元服务(或应用)包名。
{
'app': {
'bundleName': 'xxx.xxx.xxx.xxx',
'bundleType': 'atomicService',
'vendor': 'example',
'versionCode': 1000000,
'versionName': '1.0.0',
'icon': '$media:app_icon',
'label': '$string:app_name'
}
}
- 开通推送服务,详情请参考开通推送服务。
- 开通服务通知并选用订阅模板,详情请参考开通服务通知并选用订阅模板指南。
- 将如下SubscribePage.ets文件中的templateIds替换为在AGC上生效的模板ID
@Component
export struct SubscribePage {
// 请在AppGallery Connect页面用您的模板ID替换它们,最多可以使用3个ID。
private templateIds: string[] = ['****', '****', '****'];
}
- 调用serviceNotification.requestSubscribeNotification()方法发起消息订阅,返回订阅结果。
// 调用serviceNotification.requestSubscribeNotification()方法发起消息订阅
const rsp = await serviceNotification.requestSubscribeNotification(
getContext(this),
this.templateIds,
serviceNotification.SubscribeNotificationType.SUBSCRIBE_WITH_HUAWEI_ID
);
参考文档链接:通过Push Kit推送消息
更多关于HarmonyOS 鸿蒙Next中app消息推送的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
三方极光推送
HarmonyOS Next的应用消息推送基于HarmonyOS Push Kit实现。该服务提供统一的消息推送通道,支持通知栏消息和透传消息。推送过程由系统服务管理,应用需申请相应权限并配置证书。推送消息通过华为推送服务器分发至设备,系统级管控确保消息到达率和功耗优化。推送功能依赖HarmonyOS SDK中的推送接口,开发者需集成对应API。消息格式遵循HarmonyOS统一规范,支持离线消息队列和优先级设置。
目前HarmonyOS Next的官方开发者文档中已提供完整的推送服务集成指南,建议访问华为开发者官网文档中心,搜索"推送服务"查看以下关键内容:
-
推送服务介绍
- 支持通知栏消息、透传消息两种格式
- 提供设备分组、用户标签等精准推送能力
-
集成步骤
- 在AppGallery Connect创建项目并开启推送服务
- 配置应用签名和推送证书
- 通过HarmonyOS SDK集成推送客户端(参考HMS Core推送Kit)
-
关键接口
- 使用
PushClient.getToken()
获取设备令牌 - 通过
PushClient.subscribe()
实现主题订阅 - 服务端调用REST API发送消息(文档提供完整接口规范)
- 使用
-
特性说明
- 支持离线消息缓存(最长72小时)
- 提供送达/点击数据统计分析
- 支持多设备消息同步
建议在真机环境测试推送流程,注意需要在AGC控制台配置正确的签名证书指纹。具体消息结构定义和错误码说明请以最新文档为准。