跳过内容

从 V3 到 V4

经过与您在 Discord 社区的多次讨论,我发现手动模式非常繁琐且不安全,例如,无法自动恢复,如果您在手动更新时失败,用户必须卸载应用并重新安装,这是一个糟糕的用户体验。

Meanwhile, I took this as an opportunity to give more freedom to you, and remove all bad code I made.

npm i @capgo/capacitor-updater@4

如果您在应用程序中使用基本示例,则可以安全地升级到新版本,享受!

自主更新

自主更新

对于您来说,仍然简单,变化如下:

  • 设置名称从 autoUpdateUrlupdateUrl
  • 端点方法从 GET 更改为POST

手动用户

手动用户

对于您来说,这是最显著的变化,但也是最好的!您获得大量改进,仔细阅读。

  • autoUpdateUrl 变为 updateUrl 因为这个设置现在也可以在手动模式下使用
  • 删除 cancelDelaydelayUpdate context setDelay
  • 取而代之 versionName 不再
  • 在设置 version 修改 BundleInfo
interface BundleInfo {
id: string;
version: string;
downloaded: string;
status: 'success' | 'error' | 'pending' | 'downloading'
}
  • 复制到剪贴板中(Copy to clipboard)
    • 什么被称为一个 version 现在指的是一个 bundle
    • id 指向旧的 version 是10个随机字符,这 id 这是唯一可信和独特的访问您的捆绑包的方式,例如 7Dfcd2RedN.
    • version 现在指的是 versionName 您为捆绑包选择的 1.0.0
  • updateUrlgetpost由于自定义头部对一些人来说是一个问题,而post更合理,因此所有以前的头部都转移到了主体并且前缀 cap_ 已消失。
  • versionName 升级到 getId
  • list 现在返回一个 BundleInfo
  • 重命名 getIdgetDeviceId
  • autoUpdate 现在默认为 true,如果您使用手动模式,请将其设置为 false。
  • 方法 getLatest此方法允许您从您的服务器获取 updateUrl 最后可用的版本。
  • 方法 setDelay{类型: “背景” | “杀死” | “原生版本” | “日期”, value? : string} 作为设置延迟到不同模式的参数。
  • 方法 next, 在下一次后台运行中设置版本,相反于 set who
  • 方法 isAutoUpdateEnabled, 以告知您是否处于自动更新上下文中
  • 事件 downloadComplete 当下载达到 100% 时
  • 添加了必填字段 version 在下载方法中
  • notifyAppReady 在手动模式下也成为必填项,如果在 10 秒内未调用,则应用程序会恢复到之前的版本。

贡献者

贡献者

林肯三 感谢您开始这项工作,没有您,这个更新是无法完成的。

从 V3 到 V4

从 V3 到 V4

如果您正在使用 从 V3 到 V4 为产品工作流程在 Capgo 实时更新 for the product workflow in Capgo Live Updates, __CAPGO_KEEP_0__ 实时更新 为 Overview 中的实现细节 功能 为 Features 中的实现细节 更新行为 为 Update Behavior 中的实现细节, 和 更新类型 编辑页面