跳过内容

从 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 取而代之 setDelay
  • 不再 versionName 在设置
  • 键,之前大多数函数返回的对象 version 复制到剪贴板 BundleInfo
interface BundleInfo {
id: string;
version: string;
downloaded: string;
status: 'success' | 'error' | 'pending' | 'downloading'
}
  • 变更记录
    • 被称为 version 现在指的是 bundle
    • id 指向旧的 version 是一个随机的10个字符的字符串,这 id 是唯一可靠和独特的访问您的捆绑包的方式,例如 7Dfcd2RedN.
    • version 现在指的是 versionName 您为捆绑包选择的 1.0.0
  • updateUrlgetpost由于自定义头部对一些人来说是一个问题,而post更有逻辑性,因此所有以前的头部都转移到了主体并添加了前缀 cap_ 消失。
  • versionName 方法已删除,取而代之的是 getId
  • list 现在返回一个列表 BundleInfo
  • 重命名 getIdgetDeviceId
  • autoUpdate 如果您使用手动模式,设置为 false
  • 方法 getLatest该方法允许您从您的服务器获取 updateUrl 获取最新可用版本
  • 方法 setDelay 这些方法 {类型: “background” | “kill” | “nativeVersion” | “date”,值?:字符串} 作为设置延迟到不同模式的参数。
  • 方法 next在下一次后台运行时设置版本,相反于 set 立即执行。
  • 方法 isAutoUpdateEnabled让您知道是否处于自动更新上下文中。
  • 事件 downloadComplete 下载达到 100% 时
  • 添加了必填字段 version 在下载方法中
  • notifyAppReady 在手动模式下也成为必填项,如果不调用则在 10 秒后应用程序恢复到之前版本。

贡献者

贡献者

@lincolnthree 非常感谢您开始这项工作,没有您的帮助,这个更新是无法完成的。