开天辟地 HarmonyOS(鸿蒙) - 元服务: 元服务

源码 https://github.com/webabcd/HarmonyDemo
作者 webabcd

开天辟地 HarmonyOS(鸿蒙) - 元服务: 元服务

示例如下:

pages\atomicservice\AtomicServiceDemo.ets

/*
 * 元服务
 */

import { TitleBar } from '../TitleBar';

@Entry
@Component
struct AtomicServiceDemo {

  @State message: string = "元服务,示例项目在 /HarmonyDemo/atomicservicedemo 目录中"

  build() {
    Column({space:10}) {
      TitleBar()
      Text(this.message)
    }
  }
}

\atomicservicedemo\entry\src\main\ets\pages\Index.ets

/*
 * 本例用于演示元服务(atomic service)
 *
 * 元服务的创建:
 * 先在 AGC 上的“证书、APP ID和Profile”的“APP ID”中新建一个 APP ID
 * 然后再在 DevEco Studio 中创建 atomic service 项目,创建的过程中需要将当前的 atomic service 项目绑定到 AGC 上的 APP ID
 * 如果需要手动配置的话,则在 AppScope/app.json5 中做类似如下的配置
 * {
 *   "app": {
 *     "bundleName": "com.atomicservice.6917572560037685495", // 在 AGC 上的“证书、APP ID和Profile”的“APP ID”中创建的包名
 *     "bundleType": "atomicService", // 元服务
 *   }
 * }
 *
 * 元服务的特性:
 * 元服务免安装,自动更新
 * 元服务是跟随华为账号的
 * 元服务无法使用一些 api,比如 import { displaySync } from '@kit.ArkGraphics2D'; 等
 * 元服务不支持 feature 类型的模块
 * 元服务支持分包,将 entry 类型的 hap 作为首包,其他 hsp 作为分包,只需下载和安装首包后即可立即启动元服务
 * 元服务的单个包的大小不能超过 2MB,所有包的总大小不能超过 10MB
 *
 * 注:
 * 1、如果要在元服务中使用账号系统,则在你的多种登录方式中必须要包含华为账号登录的方式(这是元服务的一个审核要求)
 * 2、可以为元服务开发卡片
 * 3、可以通过负一屏搜索并打开指定的元服务,也可以通过元服务的卡片打开元服务(点击元服务右上角的按钮,可以找到生成卡片的入口)
 * 4、元服务的图标有特殊要求,可以通过 DevEco Studio -> File -> New -> Image Asset 生成符合标准的元服务图标
 */
import { router } from '@kit.ArkUI'

@Entry
@Component
struct Index {

  build() {
    Column({space:10}) {
      Text('atomic service')
    }
    .height('100%')
    .width('100%')
    .justifyContent(FlexAlign.Center)
  }
}

\atomicservicedemo\entry\src\main\ets\widget\pages\WidgetCard.ets

/*
 * 本例用于演示元服务的卡片
 */

@Entry
@Component
struct WidgetCard {

  build() {
    Column() {
      Text("click me")
    }
    .width('100%')
    .height('100%')
    .justifyContent(FlexAlign.Center)
    .onClick(() => {
      postCardAction(this, {
        action: 'router',
        abilityName: 'EntryAbility',
      });
    })
  }
}

源码 https://github.com/webabcd/HarmonyDemo
作者 webabcd

posted @ 2025-05-27 14:51  webabcd  阅读(22)  评论(0)    收藏  举报