接入 mPaaS 能力

本文介绍如何基于 ohpmrc 快速接入 mPaaS。

前置条件

说明

对于已经接入 beta 版本的客户,以下步骤可以帮助您实现平滑升级。

接入步骤

  1. .config 配置文件重命名为 mpaas.config 并拷贝到 App 主工程的 entryresource 目录下的 rawfile 中。

    Screenshot 2024-01-23 at 14

  2. 安装 mppm 插件。

    1. 安装和配置 Node.js 环境。

      升级 mppm 插件之前请确保已正确安装和配置 Node.js 环境。Node.js 版本不低于 v18,可使用命令node -v查看 NodeJS 版本。更多关于使用 Node.js 的信息请参见 Node.js 官网

    2. 安装 npm。

      在命令行执行以下命令即可安装。

      说明
      npm install @alipay-inc/oh-mpaas-cli@2.0.1 -g
    3. Windows 客户还需配置 node 相关环境变量包括 npm-globalnpm-global/bin,如下图所示。可以使用 npm config get prefix命令来查看环境变量,通常会返回一个路径如:C:\Users\<用户名>\.npm-globalimage

    4. 安装完成之后,通过mppm -v命令检查当前安装版本。

    5. .config 配置文件重命名为 mpaas.config 并拷贝到 App 主工程的 entryresource 目录下的 rawfile 中。

  3. 初始化工程。

    使用mppm init命令初始化工程,该过程会为您配置 mPaaS 鸿蒙版的一些配置。安装 SDK 需在 DevEco Studio terminal 中执行。

    1. 在 DevEco Studio terminal 中打开主工程目录执行 mppm init命令。如图image

    2. 选择基线。

      选择 10.2.3 基线,按 回车键 继续。

      image该步骤完成后,mppm 会在工程根目录下创建 .mprc 文件用于描述基线信息,如图所示。imageimage

    3. 选择需安装的组件。(对于已经安装过组件,会自动选中)

      通过 方向键 切换光标,通过 空格键 选择/取消 ,按下 回车键 继续执行下面内容。image

      重要

      基于鸿蒙新版本命名规范要求,之前对接过 数据同步 的客户需要将原基线 @mpaas/sync-service 更新为 @mpaas/sync_service

    4. 如果 Windows 用户碰到以下报错:image可以手动执行 ohpm clean 以及 ohpm install 来拉取 SDK。

    5. 当前 mppm 仅支持在自动将依赖安装到 entry 目录下,后续请根据发布日志来升级 mppm。完成之后,相关依赖会放在entry module下的oh-pakacage.json5中。image

  4. 获取安全图片。

    获取安全图片首先需要在 rawfile 下配置 mpaas.config 文件。

    执行mppm fetch-image命令,通过 --finger--secret 选项以配置签名和 appsecret,其中 finger 为 App 签名的指纹,secret 为 mPaaS 控制台中 appsecret 的值,若未配置这两个选项会导致拉取失败。拉取成功后,图片会放在 entry 下的 rawfile 目录中。image

    选项

    • --finger 配置 fingerprint

    • --secret 配置 appsecret

    示例

    mppm fetch-image --finger xxxxxx --secret xxxx

获取 finger pirnt 的三种方式

方法一通过证书获取

  1. .p7b 中的 distribution-certificate 字段单独拷贝出来命名为 xxx.cer,其中换行要用 \n 代替。

  2. 利用 keytool 工具(DevEco Studio\jbr\bin\keytool.exe)打印对应的证书的指纹 keytool -printcert -file xxx.cer

方法二:通过代码获取

import bundleManager from '@ohos.bundle.bundleManager';

let info = bundleManager.getBundleInfoForSelfSync(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO);
let finger = info.signatureInfo.fingerprint;//该值为fingerpirnt

方法三通过 bm 命令获取 (需手机中已安装该 hap)

hdc shell
bm dump -n bundleName | grep fing