鸿蒙中级课程笔记11—元服务开发
注意HarmonyOS元服务只能采用“元服务API集”进行开发,且只支持Stage模型、只支持ArkTS接口;开发者在DevEco Studio中选择开发元服务时,工具将自动筛选“元服务API集使用配套的HarmonyOS SDK开发的元服务,只能运行在系统软件版本为HarmonyOS NEXT Developer Preview1及以上版本的设备上。在万物互联时代,人均持有设备量不断攀升,设备种
一、元服务简介
1.1、什么是元服务?
注意
从HarmonyOS NEXT Developer Preview1(对应API 11)版本开始:
- HarmonyOS元服务只能采用“元服务API集”进行开发,且只支持Stage模型、只支持ArkTS接口;开发者在DevEco Studio中选择开发元服务时,工具将自动筛选“元服务API集”。
- 使用配套的HarmonyOS SDK开发的元服务,只能运行在系统软件版本为HarmonyOS NEXT Developer Preview1及以上版本的设备上。
在万物互联时代,人均持有设备量不断攀升,设备种类和使用场景更加多样,使得应用开发、应用入口变得更加复杂。在此背景下,应用提供方和用户迫切需要一种新的服务提供方式,使应用开发更简单、服务(如听音乐、打车等)的获取和使用更便捷。为此,HarmonyOS除支持传统的需要安装的应用(以下简称传统应用)外,还支持更加方便快捷的免安装的应用,即元服务。
元服务是HarmonyOS提供的一种轻量应用程序形态,具备秒开直达,纯净清爽;服务相伴,恰合时宜;即用即走,账号相随;一体两面,嵌入运行;AI智能,全域流转;高效开发,生而可信等特征。
元服务可独立上架、分发、运行,独立实现业务闭环,可大幅提升信息与服务的获取效率。
元服务基于HarmonyOS SDK(只能使用“元服务API集”)开发,支持运行在1+8+N设备上,供用户在合适的场景、合适的设备上便捷使用。
元服务的设计原则及规范,请查看元服务设计指导。
元服务与传统应用的对比请见下表。
表1 元服务与传统应用对比
|
区别 |
特征 |
载体 |
API范围 |
经营 |
|---|---|---|---|---|
|
传统应用 |
|
跟随设备 |
全量API |
|
|
元服务 |
|
跟随华为账号 |
只能使用“元服务API集” |
|

开发者基于经营目标、效率、成本、收益等因素,自主决定开发传统应用或元服务,也可以同时提供。
从应用程序入口看,下图展示了元服务与传统应用、服务卡片之间的关系。对于传统应用和元服务,均可选择服务卡片作为入口。
图1 元服务与传统应用、服务卡片之间的关系

元服务在开发态和运行态的基本视图如下图所示。
图2 元服务视图

关于元服务开发流程等更多内容,请见下文介绍。
1.2、元服务特征及使用场景
元服务特征
元服务区别于传统应用,具备如下特征,并适用于如下典型场景。
- 秒开直达,纯净清爽
- 元服务能够即点即用,实现秒开启动,丝滑流畅。
- 元服务默认隐匿登录直达使用,无弹窗干扰,给予用户纯净体验。
- 基于HarmonyOS,有多个分发入口,能够更高效地触达用户。
- 服务相伴,恰合适宜
- 服务面板在负一屏、锁屏界面等常伴跟随,服务履约过程中提供的信息由官方保障。
- 服务通知和状态恰和适宜的提醒,将提供更便捷、高效的服务闭环。
- 用完即走,账号相随
- 用户使用完元服务后,退出无二次弹窗。元服务接入规则中,不允许开发者强制拦截用户退出,确保用户体验更加流畅。
- 用户资产(数据和行为习惯)跟随账号,多设备安全同步。用户可随时找回自己的元服务。
设备上的华为账号退出后,元服务本地数据自动隔离不可见,账号登录,自动恢复登录账号下的元服务本地数据。
-
访问隐私数据需核验身份,可自主管理删除不授信设备。
- 一体两面,嵌入运行
- 元服务和应用是鸿蒙生态下的两种程序形态,元服务免安装,更为轻量。
- 两者可独立部署,可以互相嵌入运行,元服务和APP之间流动有序、优势互补。

- AI智能,全域流转
- 通过意图识别和AI智能实现服务精准触达和丝滑自然体验。
- 在全域搜索中,任何的服务都能触达用户。
- 高效开发,生而可信
提供元服务标准UX组件集、场景化模板及API集,同时构建元服务生态规则,开发者在规则之上高效开发,实现生而可信。

基于上述特征,元服务的典型使用场景如下。
元服务使用场景
常用服务卡片添加到桌面,体验快捷服务
例如:将常用的天气、备忘录及热点新闻列表等服务卡片添加到桌面上,解锁手机即可在桌面上查看即时信息。
同时,通过负一屏发现服务卡片,无需安装即可使用热点服务卡片。
例如:打车是人们日常生活中经常使用的服务,通常人们在手机上打车,需要一直停留在手机界面才能准确获取司机的状态信息。有了元服务的分布式能力,在手机打车后,将司机状态实时同步到手表,无需查看手机,抬腕即可获取司机状态。
1.3、元服务程序包基础知识
元服务的程序包结构与传统应用程序包相同,也是以App Pack(.app)形式发布到应用市场。
但元服务相对于需要安装的应用形态更加轻量、便捷,其程序包也具备一些独有特征,如免安装、分包、预加载、老化。
免安装
免安装是指无需用户通过应用市场显式安装,用户点击元服务后,由系统程序框架后台安装后即可使用。
元服务中所有HAP(Harmony Ability Package)、HSP(Harmony Shared Package)均需支持免安装。
分包
HarmonyOS每个应用程序包(.app)可以包含多个包文件(以.hap为后缀的HAP或以.hsp为后缀的HSP)。元服务在此基础上,进一步限制每个HAP或HSP(含其依赖的所有共享包)的大小,以实现快速启动体验,元服务的这种多包开发方案称为“分包”。具体可参考分包开发指导。
预加载
开发者可以通过配置预加载,由系统自动下载和安装可能需要的分包模块,从而提升进入后续模块的速度。
对于配置了预加载的分包模块,当点击进入该模块并完成页面加载后,将触发关联模块的预加载。具体可参考预加载开发指导。
老化
系统会按照一定策略清理不活跃的元服务,释放空间,这个过程称为老化。具体老化机制如下。
- 老化时机:由系统定时器触发老化,当系统中所有元服务占用总空间大于既定阈值时,将启动老化,同时要求设备处于熄屏状态,且剩余电量不低于10%。
- 老化顺序:优先老化长时间未使用及使用频率较低且未添加桌面卡片的元服务。
- 分级老化:根据数据重要性排序,分级老化。当系统满足老化时机的要求时,按照老化顺序优先清理元服务的Cache目录数据,再按照老化顺序清理元服务的其他目录数据,直到系统中所有元服务占用总空间小于既定阈值的80%。因此,开发者应合理规划数据存放目录,仅将非重要数据(例如网络缓存图片等)存放到Cache目录,避免重要数据被频繁老化清理。
图1 元服务老化示意图

元服务程序包更新机制
开发者发布新版本的元服务之后,系统将提供多个时机检查是否有新版本要更新,不同时机触发的升级机制不同,请参考元服务更新。
1.4、元服务开放能力简介
元服务开发基于HarmonyOS SDK,使开发元服务“更简单、更高效”。元服务只能使用元服务API集,应用可以使用全量的API;元服务API集是元服务仅能使用的API,是HarmonyOS SDK API的一部分;元服务API仍归属于各个Kit;

- 元服务开发旅程已全新设计,先注册再开发,先申请再使用,所见即所得
- 100+元服务标准UX组件和样式、天生分布式、端云一体的数据&文件体系,开发者可专注于业务逻辑的实现,而无需过多关注底层事务的细节
- 统一的隐私协议弹窗,怡合适宜的权限申请,融入鸿蒙生态治理理念,降低开发者合规成本
二、元服务开发流程
元服务的开发流程如下图所示。
图1 元服务开发旅程


元服务开发主要包括以下环节。
开发者注册及认证
创建元服务项目前,需要注册华为开发者账号。注意:账号(分为个人账号和企业账号)注册完后,需要完成实名认证才能享受联盟开放的各类能力和服务。
开发者官网创建元服务项目
创建元服务参考创建您的元服务;
HarmonyOS元服务遵循“先注册后开发”原则,开发者正式开发前需在开发者联盟上创建元服务,创建后系统会为该元服务颁发全局唯一的应用身份标识APP ID,在后续的开发、上架、运营等环节均使用该APP ID唯一标识此元服务。
登录AppGallery Connect,点击“我的元服务”,类型为“元服务”,点击右侧的“新建发布”。根据提示填写应用参数,完成后点击“确认”,即可创建元服务。

元服务的应用名称下会标识“元服务”属性,以便于进行区分。并且,元服务创建成功后会自动生成包名,可在应用列表或应用信息页面查看到。包名格式: com.atomicservice.[APP ID]。
说明
元服务包名命名格式需要使用com.atomicservice.[appid],请先在网站创建元服务,获取AppID后再创建工程。
在AppGallery Connect上,可以通过“我的元服务”选择对应元服务,在“应用信息”可查询元服务的appid。
申请证书
调试/发布证书是由AGC颁发的、为元服务配置签名信息的数字证书,可保障软件代码完整性和发布者身份真实性。证书格式为.cer,包含公钥、证书指纹等信息。
发布Profile格式为.p7b,包含元服务的包名、数字证书信息、元服务允许申请的证书权限列表,以及允许元服务调试的设备列表(如果元服务类型为Release类型,则设备列表为空)等内容。每个元服务包中必须包含一个Profile文件。


IDE创建项目开发调试
创建元服务
环境搭建参考搭建开发环境,通过DevEco Studio创建元服务工程。

登录账号选择创建好的元服务项目
创建过程中需要输入开发者账号,登录成功后在下面页面选择创建好的元服务项目。

配置工程
IDE创建过程中需要填写信息配置元服务项目名称等信息。

代码编辑、预览、调试、打包
与开发应用的流程一致。注意:元服务只能使用支持元服务的API。
元服务包含页面、卡片、图标三个部分,请分别参考UI开发、服务卡片开发、生成元服务图标。
DevEco Studio提供以下能力,帮助开发者提升开发过程中的体验。
- 元服务图标生成工具:开发者可以通过上传指定尺寸和格式的图片,快速生成元服务图标。
-
真机调试:开发者可快速通过真机运行调试查看运行效果。
- 元服务体检工具:开发者可以对元服务的质量和体验进行快速评分和优化。
- 打包
可通过DevEco Studio快速打包生成发布版本,使用此版本,可以用于进行邀请测试和公开测试或直接提交上架审核。

开放测试
通过AppGallery Connect,开发者可以在应用正式版本发布之前,挑选特定的用户群组来测试HarmonyOS应用/元服务。
开发者可以登录AppGallery Connect,创建HarmonyOS应用/元服务之后,就可以在“分发”的tab页下看到“应用测试”的菜单。详细内容可以参考测试发布能力开发者文档
|
测试阶段 |
邀请测试 |
公开测试 |
|---|---|---|
|
面向对象 |
可邀请友好、信任的小范围用户 |
面向全网所有用户公开招募测试 |
|
邀请人数 |
上限10000人 |
下载安装次数上限1000万次 |
|
支持同时测试的版本数 |
100个 |
1个 |
|
发布AppGallery测试专区 |
必须 |
可选 |
|
是否支持分享链接 |
支持 |
支持 |
上架
在正式提交上架前,建议通过AGC云测试服务,进行上架审核预检。当元服务经过全面测试,确保版本没有问题,即可发布正式版本。
上架前还需要完善服务信息,步骤如下:
1)、进入应用信息配置界面配置元服务详细信息。

2)、配置元服务的发布国家或地区,目前仅支持发布到中国大陆地区。
3)、在“软件版本”下点击“软件包管理”后,在弹窗中点击“上传”。

常见考题知识点
1、以下元服务描述都正确:A. 元服务的应用名称下会标识“元服务”属性。B. 元服务创建成功后会自动生成包名,可在应用列表或应用信息页面查看到。C. 调试/发布证书为元服务配置签名信息的数字证书是由AGC颁发的。D. 每个元服务包中必须包含一个Profile文件。
更多推荐

所有评论(0)