HarmonyOS-鸿蒙app开发 —基于java_原子化服务_原子化服务总体开发要求

HarmonyOS-鸿蒙app开发 —基于java_原子化服务_原子化服务总体开发要求

总体开发要求

原子化服务相对于传统方式的需要安装的应用更加轻量,同时提供更丰富的入口、更精准的分发,需要满足一些开发规则要求。

  • 【规则 1】原子化服务内所有HAP包(包括Entry HAP和Feature HAP)均需满足免安装要求。(说明:原子化服务由一个或多个HAP包组成,1个HAP包对应1个FA或1个PA。)
    1. 免安装的HAP包不能超过10MB,以提供秒开体验。超过此大小的HAP包不符合免安装要求,也无法在服务中心露出。
    2. 通过DevEco Studio工程向导创建原子化服务Project Type字段选择“Atomic Service”。
    3. 对于原子化服务升级场景:版本更新时要保持免安装属性。如果新版本不支持免安装,将不允许新版本上架发布。
    4. 支持免安装HAP包的设备类型如下。
      表1 支持免安装HAP包的设备类型

      设备类型

      是否支持免安装HAP包

      支持的版本

      手机

      支持

      HarmonyOS 2.0及以上

      平板

      支持

      HarmonyOS 2.0及以上

      智能穿戴

      支持

      HarmonyOS 2.0及以上

      轻量级智能穿戴

      不支持

      规划中

      智慧屏

      不支持

      规划中

      车机

      不支持

      规划中

      音箱

      不支持

      规划中

      PC

      不支持

      规划中

      耳机

      不支持

      规划中

      眼镜

      不支持

      规划中

  • 【规则 2】如果某便捷服务的入口需要在服务中心露出,则该服务对应HAP包必须包含FA,且FA中必须指定一个唯一的mainAbility(定位为用户操作入口),mainAbility必须为Page Ability。同时,mainAbility中至少配置2*2(小尺寸)规格的默认服务卡片(也可以同时提供其他规格的卡片)及该便捷服务对应的基础信息(包括图标、名称、描述、快照)。
    1. 通过DevEco Studio工程向导创建工程时,Project Type字段选择“Service”,同时勾选“Show in Service Center”。这样,工程中将自动指定mainAbility,并添加默认服务卡片信息,开发者根据实际业务设计继续开发即可。
    2. 服务卡片的详细开发方式请参见“服务卡片开发指南”。
    3. 按要求完成该便捷服务对应的基础信息配置

便捷服务基础信息开发指导

基本概念

原子化服务中每个便捷服务应有独立的图标、名称、描述、快照,这些称为便捷服务基础信息。

基础信息应能够准确反映便捷服务提供方的特征及便捷服务的核心体验。

便捷服务基础信息将展示在服务中心、搜索等界面。

关于基础信息的详细设计规范,请参见“原子化服务设计”规范。

约束与限制

当前支持配置基础信息的设备类型有:手机、平板、智能穿戴和智慧屏。

开发步骤

  • 配置便捷服务的图标、名称、描述信息

    在作为该便捷服务入口的HAP包的“config.json”配置文件中,为mainAbility配置图标(”icon”)、名称(”label”)、描述(”description”)。

    其中,mainAbility的“label”标签是便捷服务对用户显示的名称,必须配置,且应以资源索引的方式配置,以支持多语言。不同HAP包的mainAbility的“label”要唯一,以免造成用户看到多个同名服务而无法区分。此外,“label”的命名应与服务内容强关联,能够通过显而易见的语义看出服务关键内容。

    以下示例中:

    • “label”:在entry\src\main\resources\base\element\string.json中,定义便捷服务对用户显示的名称,然后config.json中以索引方式引用”label”。
    • “icon” :开发者将便捷服务的图标png文件放至entry\src\main\resources\base\media目录,然后config.json中以索引方式引用”icon”。

“description”:在entry\src\main\resources\base\element\string.json中,定义便捷服务简要描述,然后config.json中以索引方式引用”description”。

{

“abilities”: [

{

“skills”: [

{

“entities”: [

“entity.system.home”

],

“actions”: [

“action.system.home”

]

}

],

“name”: “com.example.xxx.MainAbility”,

“icon”: $media:icon”,

“description”: $string:mainability_description”,

“label”: $string:mainability_label”,

“type”: “page”,

“launchType”: “standard”

}

],

}

  1. 配置便捷服务的快照

    如前文所述,mainAbility中至少配置2*2(小尺寸)规格的默认服务卡片,该卡片对应的快照图,需要配置为便捷服务的快照入口,用于在服务中心显示。

    配置方式:通过DevEco Studio工程向导创建Project Type为“Service”的新工程或在已有Project Type为“Service”的工程中添加新模块时,勾选“Show in Service Center”,则会同步创建一个2*2的默认服务卡片模板,同时还会创建该卡片对应的快照图。

    工程创建完成后,会在工程目录下生成快照(EntryCard)目录。

    在该目录下,每个拥有快照(EntryCard)的模块,都会生成一个和模块名相同的文件夹,同时还会默认生成一张2*2(小尺寸)的快照(一张png格式的图片)。

    开发者可以将其替换为事先设计好的2*2快照,样式上应与对应的服务卡片保持一致:将新的快照拷贝到上图目录下,删除默认图片,新图片命名遵循格式“服务卡片名-2×2.png”。

    说明

    “服务卡片名”可以查看config.json文件的forms数组中的“name”字段。

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x