为什么捐赠
API 浏览器
联系站长
Quasar CLI with Webpack - @quasar/app-webpack
热更新

热更新(Live Updates),也称为 OTA(Over-the-Air)更新或热代码更新,是一种无需经过应用商店审核即可推送应用更新的方式。这对于 bug 修复或不需要完整发版的小更新尤其有用。

安装

要在你的 Quasar Capacitor 应用中启用热更新,需要安装 @capawesome/capacitor-live-update 插件。首先,进入 Capacitor 项目目录:

cd src-capacitor

然后安装插件:


$ yarn add @capawesome/capacitor-live-update

安装完成后,需要将更改同步到原生项目:

npx cap sync

配置

接下来,需要配置插件以配合 Capawesome Cloud 使用。

App ID

为了让你的应用能够在 Capawesome Cloud 上标识自己,需要在 capacitor.config 文件中设置 appId。为此,你需要在 Capawesome Cloud 控制台 上创建一个应用并获取 App ID。

/src-capacitor/capacitor.config file

{
  "plugins": {
    "LiveUpdate": {
      "appId": "00000000-0000-0000-0000-000000000000"
    }
  }
}

00000000-0000-0000-0000-000000000000 替换为你从 Capawesome Cloud 控制台获取的实际 App ID。

配置好 App ID 后,再次同步你的 Capacitor 项目:

npx cap sync

使用方法

Live Update 插件最基本的用法是在应用启动时调用 sync(...) 方法。该方法会检查是否有可用更新,如果有则下载,并将其设置为下次要应用的 bundle。然后你可以调用 reload() 方法立即应用更新。如果不调用 reload(),新的 bundle 将在下次应用启动时生效。

import { LiveUpdate } from "@capawesome/capacitor-live-update";

const sync = async () => {
  const result = await LiveUpdate.sync();
  if (result.nextBundleId) {
    await LiveUpdate.reload();
  }
};

发布更新

要发布你的第一个更新,需要在 Capawesome Cloud 上创建一个 bundle。为此,你需要一个 bundle 产物(artifact)。Bundle 产物就是你的 Web 应用的构建输出。在 Quasar 中,对应的是 src-capacitor/www 文件夹。你可以通过运行以下命令来生成 bundle 产物:

quasar build -m capacitor -T [android|ios]

这将在 src-capacitor/www 文件夹中生成你的 Web 应用的构建输出。然后你可以使用 Capawesome CLI 将此文件夹上传到 Capawesome Cloud。 安装 Capawesome CLI:


$ yarn global add @capawesome/cli

安装 Capawesome CLI 后,需要登录你的 Capawesome Cloud 账户。运行以下命令并按照提示操作:

npx capawesome login

登录成功后,运行以下命令即可创建 bundle:

npx capawesome apps:bundles:create --path src-capacitor/www

恭喜!你已成功发布了第一个热更新。现在可以在设备或模拟器上运行你的应用来测试。应用会自动检查更新并在有可用更新时应用它们。 欢迎查阅 Live Update 插件的完整文档,了解更多功能。