自动更新
复制安装提示和本插件的完整Markdown指南。
本文档将解释如何运行自动更新服务器。
为应用服务您的捆绑包
标题为“为应用服务您的捆绑包”确保您的捆绑包通过HTTPS服务,并且服务器有正确的CORS头部允许应用下载更新。
例如 https://myserver.com/app/updates/updates.json
如果您不熟悉部署一个捆绑包,我们建议您尝试 Capgo 云或查看示例:
配置
配置添加一个 updateUrl 到您的 capacitor.config.json.
{ "plugins": { "CapacitorUpdater": { "updateUrl": "https://myserver.com/app/updates/updates.json", } }}更新 API
Section titled “API更新”该插件将每次打开应用程序时向您的API发送一次POST请求,请求体如下:
interface AppInfos { "platform": "ios" | "android" | "electron", "device_id": "UUID_of_device_unique_by_install", "app_id": "APPID_FROM_CAPACITOR_CONFIG", "custom_id": "your_custom_id_set_on_runtime", "plugin_version": "PLUGIN_VERSION", "version_build": "VERSION_NUMBER_FROM_NATIVE_CODE", "version_code": "VERSION_CODE_FROM_NATIVE_CODE", "version_name": "LAST_DOWNLOADER_VERSION" | "builtin" "version_os": "VERSION_OF_SYSTEM_OS", "is_emulator": boolean, "is_prod": boolean,}服务器API应以JSON格式响应capacitor-updater插件。 如果有更新需要:
{"version": "1.2.3","url": "https://myserver.com/app/updates/my-new-app-2.0.0.zip","checksum": "sha256_checksum_of_bundle"}在自动更新模式下,服务器应将版本进行比较,并返回正确的版本,如果URL键存在,则启动下载过程。
如果您添加“message”和“error”键,版本将不会被设置,消息将在日志中显示而不是版本。
version key应以 semver 格式。
zip文件应包含 index.html 作为根目录下的文件,或根目录下只有一个文件夹,且 index.html 文件夹内。
您可以使用命令CLI压缩您的捆绑包:
npx @capgo/cli bundle zip --path [/path/to/my/bundle]生成捆绑包校验和
标题:生成捆绑包校验和重要: 您必须使用Capgo CLI创建捆绑包压缩文件。Capgo插件需要特定的压缩格式和结构,仅当使用官方CLI工具时才保证。标准压缩工具可能会创建不兼容的存档。
要为您的捆绑包生成校验和,请使用Capgo CLI zip命令,带有 --json 标志:
npx @capgo/cli bundle zip [appId] --json此命令将:
- 创建一个与Capgo插件兼容的格式化zip文件
- 生成SHA256校验和以进行完整性验证
- 以JSON格式输出捆绑包信息
示例输出:
{ "version": "1.2.3", "checksum": "a1b2c3d4e5f6789...", "size": 1234567}使用 checksum 从此输出中获取值并将其添加到API响应中,以确保在安装前插件可以验证捆绑包完整性
继续从自动更新
标题:继续从自动更新如果您正在使用 自动更新 来规划迁移和企业运营,连接它 使用@capgo/capacitor-updater 为native能力在使用@capgo/capacitor-updater Capgo企业版 为Capgo企业版产品工作流 ionic企业版插件替代品 为ionic企业版插件替代品产品工作流 Capgo替代品 为Capgo替代品产品工作流 Capgo咨询 为Capgo咨询产品工作流