更新 API API
复制一个包含安装步骤和本插件的全 Markdown 指南的设置提示。
以下是一个示例 code 在 JavaScript 中发送更新到插件的示例
interface AppInfos { version_name: string version_build: string version_os: string custom_id?: string is_prod?: boolean is_emulator?: boolean plugin_version: string platform: string app_id: string device_id: string}
export const handler: Handler = async (event) => { const body = JSON.parse(event.body || '{}') as AppInfos const { platform, app_id, version_os, device_id, version_name, version_build, plugin_version, } = body console.log('update asked', platform, app_id, version_os, device_id, version_name, version_build, plugin_version) if (version_name === '1.0.0') { return { version: '1.0.1', url: 'https://apiurl.com/mybuild_101.zip', checksum: 'sha256_checksum_of_bundle', } } else if (version_name === '1.0.1') { return { version: '1.0.2', url: 'https://apiurl.com/mybuild_102.zip', checksum: 'sha256_checksum_of_bundle', } } else { return { message: 'Error version not found' version: '', url: '', } }}响应格式
标题为“响应格式”对于 非加密包, 你的端点应该返回:
{ "version": "1.0.2", "url": "https://apiurl.com/mybuild_102.zip", "checksum": "sha256_checksum_of_bundle"}对于 加密的捆绑包, 你还需要包含会话密钥:
{ "version": "1.0.2", "url": "https://apiurl.com/mybuild_102.zip", "checksum": "encrypted_checksum_from_encrypt_command", "session_key": "ivSessionKey_from_encrypt_command"}如果没有更新或错误,添加 message 密钥和可选的 error:
{ "message": "Version not found", "error": "The backend crashed", "version": "1.0.2",}字段描述
标题为“字段描述”checksum: 你的捆绑包 zip 文件 SHA256 散列值用于完整性验证session_key: 必须为加密包装使用 - 这是ivSessionKey由加密命令返回version: 在 格式的版本标识符url: 可以下载包装的 HTTPS URL
包装创建
标题为“包装创建”要了解如何创建兼容包装并生成校验和,请参阅 自动更新文档.
对于加密包装,请参阅 加密包装文档 它解释了加密工作流程的完整过程。
继续从 API 更新端点
标题:继续从 API 更新端点如果您正在使用 API 更新端点 来规划 CI/CD 自动化,连接它到 使用 @capgo/capacitor-updater 为使用 @capgo/capacitor-updater 的本地能力 Capgo CI/CD 为产品工作流程在 Capgo CI/CD 中 Capgo 原生构建 为产品工作流程在 Capgo 原生构建 中 Capgo 集成 为Capgo Integrations 的产品工作流程 CI/CD 集成 为CI/CD 集成的实现细节