@capawesome/capacitor-app-update

中文文档
8.1.1发布于 2026/10/16MITTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 62.7万

辅助应用更新Android和iOS的Capacitor插件.

中文使用文档
文档目录36 节
  1. 特征
  2. 使用大小写
  3. 兼容性
  4. 演示
  5. 安装
  6. Android 变量
  7. 配置
  8. 使用量
  9. 获取应用程序更新信息
  10. 打开应用程序商店条目
  11. 立即进行更新
  12. 开始灵活的更新
  13. 完成灵活更新
  14. API 密码
  15. 获取更新信息(...)
  16. 打开 AppStore (...)
  17. 执行即时更新( )
  18. 启动灵活更新日期( )
  19. 完整灵活更新日期( )
  20. 添加 listener("关于灵活更新状态变化",...)
  21. 删除所有收听器( )
  22. 接口
  23. 数字
  24. 内部应用共享测试
  25. 财务问题
  26. 此插件与 Live 更新插件有何不同 ?
  27. IOS上是否有应用程序更新?
  28. 立即更新与灵活更新有何区别?
  29. INFO MISSING结果代码更新为何失败??
  30. 我怎么测试Android的应用更新?
  31. 我能用这个插件吗? 有Ionic、React、Vue或Angular?
  32. 相关插件
  33. 通讯
  34. 更改日志
  35. 许可证
  36. 贷项

CAP 更新插件

协助本地应用程序更新的 Capacitor 插件 . 它支持获取应用程序更新信息 机器人 财务报告和审定财务报表 iOS系统 并支持 应用程序中更新 打开 机器人。 。 。 .

看看这个 电容Live 更新 在不向应用程序商店提交新版本的情况下, 远程实时更新您的应用程序的插件 。 @ @ info

特征

Capacitor App Update插件是Capacitor App最完整的本土应用更新解决方案之一. 以下是一些关键特征:

  • 🖥️ 跨平台: 支持Android和iOS.
  • 📱 App 更新信息:检索当前和可用的应用版本.
  • ⚡ 即时应用更新:在Android上进行即时更新.
  • 📲 灵活应用中的更新: 支持Android上灵活的更新流.
  • 📈 更新优先级: 支持在Android上更新优先级.
  • 🏪 App store 导航:打开应用商店条目进行手动更新.
  • 📊 更新状态跟踪: 监视与听众的灵活更新进度.
  • 🤝 兼容性: 与 实时更新 插件 .
  • 🔁 最新数据:总是支持最新的Capacitor版本.

缺少一个功能? 刚刚 打开一个问题 我们看看!

使用大小写

App Update 插件通常用于确保用户运行您应用程序的最近版本,例如:

  • 强制更新: 在Android上进行即时的应用更新,此时必须安装一个关键的新版本才能使用该应用.
  • 可选更新提示:在Android上启动一个灵活的应用更新,在背景中下载,并跟踪其与状态变化收听器的进度.
  • 版本检查:将当前应用版本与Play Store或App Store中可用的版本进行比较,以决定是否通知用户.
  • 存储重定向:打开应用程序的"Play Store"或"App Store"条目,让用户可以手动更新应用程序,例如在iOS上无法提供应用程序内更新.

兼容性

插件版本电容版本状态
8.x.x (英语)>=8.x.x积极支持
7.x.x (中文(简体) )7.x.x (中文(简体) )折旧
6.x.x (中文(简体) )6.x.x (中文(简体) )折旧
5.x.x (中文(简体) )5.x.x (中文(简体) )折旧

演示

这里有一个实例: robingenz/电容器-插管-demo

安装

你可以用我们的 AI 辅助设置 以安装插件. 添加数据 超级技能 至您的 AI 工具,使用以下命令:

npx skills add capawesome-team/skills --skill capacitor-plugins

然后使用下列提示:

 Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome/capacitor-app-update` plugin in my project.

如果你喜欢 手动设置,通过运行以下命令来安装插件,并遵循下面的平台特定指令:

npm install @capawesome/capacitor-app-update
npx cap sync

Android 变量

如果需要, 您可以在您的应用程序中定义以下工程变量 variables.gradle 要更改依赖的默认版本的文件 :

  • $androidPlayAppUpdateVersion 版本 com.google.android.play:app-update (默认 : 2.1.0(中文(简体) )
  • $androidPlayServicesBaseVersion 版本 com.google.android.gms:play-services-base (默认 : 18.9.0(中文(简体) )

如果您在工程中遇到其它插件的依赖性冲突, 这会有所帮助 .

配置

此插件不需要配置 .

使用量

以下例子显示如何获取应用更新信息,打开应用商店条目,并进行即时而灵活的应用更新.

获取应用程序更新信息

使用 getAppUpdateInfo() 以获取当前和可用的应用版本。 在Android上,版本由版本代码识别;在iOS上,由版本名称识别. 仅在Android和iOS上提供:

import { AppUpdate } from '@capawesome/capacitor-app-update';
import { Capacitor } from '@capacitor/core';

const getCurrentAppVersion = async () => {
  const result = await AppUpdate.getAppUpdateInfo();
  if (Capacitor.getPlatform() === 'android') {
    return result.currentVersionCode;
  } else {
    return result.currentVersionName;
  }
};

const getAvailableAppVersion = async () => {
  const result = await AppUpdate.getAppUpdateInfo();
  if (Capacitor.getPlatform() === 'android') {
    return result.availableVersionCode;
  } else {
    return result.availableVersionName;
  }
};

打开应用程序商店条目

在"Play Store"(Android)或"App Store"(iOS)中打开应用程序的页面,这样用户就可以手动更新应用程序. 仅在Android和iOS上提供:

import { AppUpdate } from '@capawesome/capacitor-app-update';

const openAppStore = async () => {
  await AppUpdate.openAppStore();
};

立即进行更新

如果有更新,并允许立即更新,则立即进行应用更新。 仅在Android上可用:

import { AppUpdate, AppUpdateAvailability } from '@capawesome/capacitor-app-update';

const performImmediateUpdate = async () => {
  const result = await AppUpdate.getAppUpdateInfo();
  if (result.updateAvailability !== AppUpdateAvailability.UPDATE_AVAILABLE) {
    return;
  }
  if (result.immediateUpdateAllowed) {
    await AppUpdate.performImmediateUpdate();
  }
};

开始灵活的更新

如果有更新可用,并允许灵活更新,则启动灵活的应用中更新。 您可以使用 onFlexibleUpdateStateChange 听着 仅在Android上可用:

import { AppUpdate, AppUpdateAvailability } from '@capawesome/capacitor-app-update';

const startFlexibleUpdate = async () => {
  const result = await AppUpdate.getAppUpdateInfo();
  if (result.updateAvailability !== AppUpdateAvailability.UPDATE_AVAILABLE) {
    return;
  }
  if (result.flexibleUpdateAllowed) {
    await AppUpdate.startFlexibleUpdate();
  }
};

完成灵活更新

通过重新启动应用程序完成灵活的应用更新 。 仅在Android上可用:

import { AppUpdate } from '@capawesome/capacitor-app-update';

const completeFlexibleUpdate = async () => {
  await AppUpdate.completeFlexibleUpdate();
};

API 密码

获取更新信息(...)

getAppUpdateInfo(options?: GetAppUpdateInfoOptions | undefined) => Promise<AppUpdateInfo>

返回应用更新信息 .

仅在Android和iOS上提供.

参数类型
optionsGetAppUpdateInfoOptions

回返情况: Promise<AppUpdateInfo>


打开 AppStore (...)

openAppStore(options?: OpenAppStoreOptions | undefined) => Promise<void>

在Play Store(Android)或App Store(iOS)中打开应用程序的应用商店条目.

仅在Android和iOS上提供.

参数类型
optionsOpenAppStoreOptions

自: 1.0.0 (单位:千美元)


执行即时更新( )

performImmediateUpdate() => Promise<AppUpdateResult>

进行即时的应用更新 .

只能从Android上找到.

回返情况: Promise<AppUpdateResult>


启动灵活更新日期( )

startFlexibleUpdate() => Promise<AppUpdateResult>

启动灵活的应用中更新.

只能从Android上找到.

回返情况: Promise<AppUpdateResult>


完整灵活更新日期( )

completeFlexibleUpdate() => Promise<void>

通过重新启动应用程序完成灵活的应用更新.

如果安装失败 返回的承诺会被拒绝, 例如,因为设备在存储上较低.

只能从Android上找到.


添加 listener("关于灵活更新状态变化",...)

addListener(eventName: 'onFlexibleUpdateStateChange', listenerFunc: (state: FlexibleUpdateState) => void) => Promise<PluginListenerHandle>

添加一个应用中的弹性更新状态更改倾听器.

只能从Android上找到.

参数类型
eventName'onFlexibleUpdateStateChange'
listenerFunc(state: FlexibleUpdateState) => void

回返情况: Promise<PluginListenerHandle>


删除所有收听器( )

removeAllListeners() => Promise<void>

删除此插件的所有听众 .


接口

更新信息

Prop类型说明自兹
currentVersionNamestring应用程序的当前版本名称 。 打开 机器人,这是 versionName 从 android/app/build.gradle 文档。 打开 iOS系统,这是 CFBundleShortVersionString 从 Info.plist 文档。 仅在Android和iOS上提供.5.1.0 国家
availableVersionNamestring更新的现有版本名 。 打开 iOS系统,这是 CFBundleShortVersionString 从 Info.plist 文档。 仅在iOS上可用.5.1.0 国家
currentVersionCodestring目前应用的版本代码. 打开 机器人,这是 versionCode 从 android/app/build.gradle 文档。 打开 iOS系统,这是 CFBundleVersion 从 Info.plist 文档。 仅在Android和iOS上提供.5.1.0 国家
availableVersionCodestring更新版本的可用版本代码. 打开 机器人,这是 versionCode 从 android/app/build.gradle 文档。 只能从Android上找到.5.1.0 国家
availableVersionReleaseDatestring以ISO 8601(UTC)格式发布更新日期. 仅在iOS上可用.
updateAvailabilityAppUpdateAvailability应用更新可用. 仅在Android和iOS上提供.
updatePrioritynumber应用中更新此更新的优先级,由开发者在Google Play开发者API中定义. 只能从Android上找到.
immediateUpdateAllowedbooleantrue 如果允许立即更新,否则 false. 只有Android可以访问.
flexibleUpdateAllowedbooleantrue 如果允许灵活更新,否则 false. 只有Android可以访问.
clientVersionStalenessDaysnumber用户设备上的Google Play Store应用得知了是否有更新或正在更新, 只能从Android上找到.
installStatusFlexibleUpdateInstallStatus灵活的应用中更新安装状态 。 只能从Android上找到.
minimumOsVersionstring应用程序运行于iOS所需的最小操作系统版本. 仅在iOS上可用.

获取更新信息选项

Prop类型说明
countrystring您想要搜索的商店的双字母国家代码 。 见 http://en.wikipedia.org/wiki/ISO 3166-1 alpha-2 (英语) 用于列出ISO国家代码。 仅在iOS上可用.

OpenAppStore 选项

Prop类型说明自兹
androidPackageNamestring在 Play Store 中打开的软件包名 。 打开 机器人,这是您的应用程序的应用程序ID(例如. com.example.app) (中文(简体) ). 您可以在 android/app/build.gradle 文档。 如果没有提供,则会使用当前app的软件包名. 只能从Android上找到.7.2.0 联合国
androidStorePackageNamestring商店应用程序的软件包名称应该打开应用程序商店条目(例如. com.android.vending 用于谷歌游戏商店). 如果未提供,则系统默认处理器用于 market:// 链接将被使用。 只能从Android上找到.8.1.0 联合国
appIdstring在 App Store 打开的应用程序的应用ID 。 打开 iOS系统,这是您的应用程序的苹果标识(例如. 123456789) (中文(简体) ). 您可以在您的应用商店条目的URL中找到ID( 如. https://apps.apple.com/app/id123456789) (中文(简体) ). 请注意: iOS上需要这个选项. 仅在iOS上可用.6.1.0 (中文(简体) )

更新结果

Prop类型
codeAppUpdateResultCode

插件听筒

Prop类型
remove() => Promise<void>

灵活更新状态

Prop类型说明
installStatusFlexibleUpdateInstallStatus灵活的应用中更新安装状态 .
bytesDownloadednumber返回迄今为止下载的字节数 . undefined 如果安装状态不是 DOWNLOADING。 。 。 .
totalBytesToDownloadnumber返回此更新要下载的字节总数 . undefined 如果安装状态不是 DOWNLOADING。 。 。 .

数字

更新可用性

成员数值
UNKNOWN0
UPDATE_NOT_AVAILABLE1
UPDATE_AVAILABLE2
UPDATE_IN_PROGRESS3

灵活更新安装状态

成员数值
UNKNOWN0
PENDING1
DOWNLOADING2
INSTALLING3
INSTALLED4
FAILED5
CANCELED6
DOWNLOADED11

更新结果代码

成员数值说明
OK0用户已接受更新.
CANCELED1用户已否认或取消更新 .
FAILED2其他一些错误使用户无法表示同意或进行更新.
NOT_AVAILABLE3没有更新.
NOT_ALLOWED4不允许更新类型 .
INFO_MISSING5App更新信息缺失. 你必须打电话 getAppUpdateInfo() 在请求更新之前.

内部应用共享测试

Android 开发者的文档描述如何测试 应用程序中更新 使用 内部应用程序共享。 。 。 .

财务问题

此插件与 Live 更新插件有何不同 ?

App Update插件协助通过 Play Store 或 App Store 分发的本地应用更新,例如通过检索更新信息或执行Android的应用更新. 这个 电容Live 更新 另一方面,插件在不向应用程序商店提交新版本的情况下,将您的应用程序远程实时更新.

IOS上是否有应用程序更新?

不,内应用更新是Google Play Store的一个功能,因此只在Android上提供. 在iOS上,您可以使用 getAppUpdateInfo(...) 以检查是否有更新,然后调用 openAppStore(...) 打开应用程序的 App Store 条目,以便用户手动更新.

立即更新与灵活更新有何区别?

立即进行更新,步骤如下: performImmediateUpdate()。以 startFlexibleUpdate()中,可以对下载进度进行监测 onFlexibleUpdateStateChange 收听者,通过呼叫完成 completeFlexibleUpdate(),它重新启动了应用程序。 两种更新类型仅在Android上提供.

INFO MISSING结果代码更新为何失败??

这个 INFO_MISSING 结果代码表示应用程序更新信息缺失. 你必须打电话 getAppUpdateInfo(...) 在请求更新之前 performImmediateUpdate() 或者说 startFlexibleUpdate()。 。 。 .

我怎么测试Android的应用更新?

Android开发者文档描述了如何使用内部应用共享来测试应用中的更新. 见 内部应用共享测试 节,用于相关链接.

我能用这个插件吗? 有Ionic、React、Vue或Angular?

是的,插件是框架不可知的。 它在任意网络框架的Capacitor app中工作,包括有Angular,React,或Vue的Ionic,以及平版JavaScript等项目.

  • 应用程序审查:让用户提交应用商店评论和评分.
  • 谷歌游戏服务:检查设备上是否有Google Play服务,并提示用户安装或更新.
  • 实时更新: 实时更新你的应用程序,而不要求用户从应用程序商店下载新版本.

通讯

随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 《卡帕索克通讯》。 。 。 .

更改日志

见 变动情况。 。 。 .

许可证

见 自由主义。 。 。 .

贷项

此插件基于 CAP 更新 插件 . 感谢所有为这个项目捐款的人!

版本与发布记录

@capawesome/capacitor-app-update 共发布 27 个版本,首次发布于 2022/08/04;过去 12 个月发布了 9 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.1.1latest2026/10/1624 天前
8.1.02026/10/051 个月前
8.0.52026/09/022 个月前
8.0.42026/08/182 个月前
8.0.32026/02/198 个月前
8.0.22026/01/229 个月前

其他发布通道:dev → 7.0.0-dev.1765885034。

关于 @capawesome/capacitor-app-update 的常见问题

@capawesome/capacitor-app-update 是什么?

辅助应用更新Android和iOS的Capacitor插件.

如何安装 @capawesome/capacitor-app-update?

在项目目录运行 npm install @capawesome/capacitor-app-update,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(>=8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@capawesome/capacitor-app-update 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@capawesome/capacitor-app-update 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@capawesome/capacitor-app-update 可以商用吗?

@capawesome/capacitor-app-update 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@capawesome/capacitor-app-update 的下载量有多少?

根据 npm 官方下载统计,@capawesome/capacitor-app-update 在 2026/10/09 – 2026/11/07 这 30 天内被下载 627,277 次,日均约 20,909 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@capawesome/capacitor-app-update 还在维护吗?

最新版本 8.1.1 发布于 2026/10/16(24 天前);至今共发布 27 个版本,其中过去 12 个月发布了 9 个;首次发布于 2022/08/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。