为什么捐赠
API 浏览器
联系站长
Quasar CLI with Vite - @quasar/app-vite
热更新(Live Updates)

热更新(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 产物。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 插件的完整文档,了解更多功能。