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