跳过内容

函数和设置

查看 Github README 获取更多信息。

CapacitorUpdater 可以使用以下选项进行配置:

属性类型描述默认
appReadyTimeoutnumber配置 native 插件在等待更新失败之前等待的毫秒数。可用于 Android、iOS 和 Electron。10000 // (10 seconds)
responseTimeoutnumber配置 native 插件在等待 API 超时之前等待的毫秒数。可用于 Android、iOS 和 Electron。20000 // (20 seconds)
autoDeleteFailedboolean配置是否应自动删除失败的捆绑包。可用于 Android、iOS 和 Electron。true
autoDeletePreviousboolean配置是否应在更新成功后自动删除之前的捆绑包。可用于 Android、iOS 和 Electron。true
autoUpdateboolean配置是否应使用 Auto Update 通过更新服务器。可用于 Android、iOS 和 Electron。true
resetWhenUpdateboolean在设备安装新 native 应用捆绑包时,自动删除之前下载的捆绑包。可用于 Android、iOS 和 Electron。true
updateUrlstring配置更新检查将发送到的 URL / 端点。可用于 Android、iOS 和 Electron。https://plugin.capgo.app/updates
channelUrlstring配置用于频道操作的 URL / 端点。可用于 Android、iOS 和 Electron。https://plugin.capgo.app/channel_self
statsUrlstring配置更新统计信息将发送到的 URL / 端点。可用于 Android、iOS 和 Electron。设置为 "" 以禁用统计报告。https://plugin.capgo.app/stats
publicKeystring配置用于端到端实时更新加密(版本 2)的公钥。可用于 Android、iOS 和 Electron。undefined6.2.0
versionstring配置当前应用的版本。这将用于第一个更新请求。如果未设置,插件将从原生 code 中获取版本。可用于 Android、iOS 和 Electron。undefined4.17.48
directUpdateboolean | ‘always’ | ‘atInstall’ | ‘onLaunch’配置插件应何时直接安装更新。仅适用于自动更新模式。适用于小于 10MB 的应用和使用 —delta 标志上传的应用。超过 10MB 的 zip 或应用更新速度较慢。- false:永不进行直接更新(使用默认行为:下载时启动,设置时后台)- atInstall:仅在应用安装、更新自商店时进行直接更新,否则行为如 directUpdate = false - onLaunch:仅在应用安装、更新自商店或应用杀死后进行直接更新,否则行为如 directUpdate = false - always:在所有上述情况下(应用安装、更新自商店、应用杀死或应用恢复)进行直接更新,永不行为如 directUpdate = false - true:(已弃用)与“always”相同,用于向后兼容。可用于 Android、iOS 和 Electron。false5.1.0
autoSplashscreenboolean自动隐藏启动屏幕,当使用直接更新时。 当启用时,插件将在应用程序更新应用或无需更新时自动隐藏启动屏幕。 这样可以避免手动监听 appReady 事件并调用 SplashScreen.hide()。 只有在直接更新设置为“atInstall”,“always”或 true 时才有效。 需要安装并配置 @capacitor/splash-screen 插件,launchAutoHide 必须设置为 false。 需要启用 autoUpdate 和 directUpdate。 可用于 Android 和 iOS。false7.6.0
periodCheckDelaynumber配置周期更新检查的延迟时间。 单位为秒。 可用于 Android、iOS 和 Electron。 不能小于 600 秒(10 分钟)。600 // (10 minutes)
localS3boolean配置 CLI 使用本地服务器进行测试或自托管更新服务器。undefined4.17.48
localHoststring配置 CLI 使用本地服务器进行测试或自托管更新服务器。undefined4.17.48
localWebHoststring配置 CLI 使用本地服务器进行测试或自托管更新服务器。undefined4.17.48
localSupastring配置 CLI 使用本地服务器进行测试或自托管更新服务器。undefined4.17.48
localSupaAnonstring配置 CLI 使用本地服务器进行测试。undefined4.17.48
localApistring配置 CLI 使用本地 api 进行测试。undefined6.3.3
localApiFilesstring配置 CLI 使用本地文件 api 进行测试。undefined6.3.3
allowModifyUrlboolean允许插件动态从 JavaScript 端修改 updateUrl、statsUrl 和 channelUrl。false5.4.0
defaultChannelstring设置应用程序在配置中的默认频道。大小写敏感。 这个设置将覆盖云端设置的默认频道,但仍然会尊重云端设置的覆盖。undefined5.5.0
appIdstring为应用程序配置应用 ID,配置。undefined6.0.0
keepUrlPathAfterReloadboolean配置插件以在重新加载后保留 URL 路径。注意:当重新加载时,‘window.history’ 将被清除。false6.8.0
disableJSLoggingboolean禁用 JavaScript 日志。 如果为 true,插件将不会在 JavaScript 控制台中记录日志。 只有本机日志将被执行false7.3.0
shakeMenuboolean启用摇晃手势以显示更新菜单(用于调试/测试目的)false7.5.0

capacitor.config.json:

{
"plugins": {
"CapacitorUpdater": {
"appReadyTimeout": 1000 // (1 second),
"responseTimeout": 10 // (10 second),
"autoDeleteFailed": false,
"autoDeletePrevious": false,
"autoUpdate": false,
"resetWhenUpdate": false,
"updateUrl": https://example.com/api/auto_update,
"channelUrl": https://example.com/api/channel,
"statsUrl": https://example.com/api/stats,
"publicKey": undefined,
"version": undefined,
"directUpdate": undefined,
"autoSplashscreen": undefined,
"periodCheckDelay": undefined,
"localS3": undefined,
"localHost": undefined,
"localWebHost": undefined,
"localSupa": undefined,
"localSupaAnon": undefined,
"localApi": undefined,
"localApiFiles": undefined,
"allowModifyUrl": undefined,
"defaultChannel": undefined,
"appId": undefined,
"keepUrlPathAfterReload": undefined,
"disableJSLogging": undefined,
"shakeMenu": undefined
}
}
}

capacitor.config.ts:

import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
appReadyTimeout: 1000 // (1 second),
responseTimeout: 10 // (10 second),
autoDeleteFailed: false,
autoDeletePrevious: false,
autoUpdate: false,
resetWhenUpdate: false,
updateUrl: https://example.com/api/auto_update,
channelUrl: https://example.com/api/channel,
statsUrl: https://example.com/api/stats,
publicKey: undefined,
version: undefined,
directUpdate: undefined,
autoSplashscreen: undefined,
periodCheckDelay: undefined,
localS3: undefined,
localHost: undefined,
localWebHost: undefined,
localSupa: undefined,
localSupaAnon: undefined,
localApi: undefined,
localApiFiles: undefined,
allowModifyUrl: undefined,
defaultChannel: undefined,
appId: undefined,
keepUrlPathAfterReload: undefined,
disableJSLogging: undefined,
shakeMenu: undefined,
},
},
};
export default config;
notifyAppReady() => Promise<AppReadyResult>

通知Capacitor更新器当前捆绑包正在运行(如果不在每次应用启动时调用此方法,则会发生回滚) 默认情况下,此方法应在应用启动后第 10 秒内被调用,否则会发生回滚。 使用{@link appReadyTimeout}更改此行为

返回: Promise<AppReadyResult>


setUpdateUrl(options: UpdateUrl) => Promise<void>

设置应用的更新 URL,这将用于检查更新。

参数:类型描述
optionsUpdateUrl包含用于检查更新的 URL。

自: 5.4.0


setStatsUrl(…)

标题:setStatsUrl(…)
setStatsUrl(options: StatsUrl) => Promise<void>

设置应用程序的 statsUrl,用于发送统计数据。传入空字符串将禁用统计数据收集。

参数类型描述
optionsStatsUrl包含用于发送统计数据的 URL。

自从: 5.4.0


setChannelUrl(options: ChannelUrl) => Promise<void>

为应用设置channelUrl,这将用于设置频道。

参数类型描述
optionsChannelUrl包含用于设置频道的URL。

自从: 5.4.0


download(options: DownloadOptions) => Promise<BundleInfo>

从提供的 URL 下载一个新的压缩包,压缩包应该是 zip 格式,包含文件或带有唯一 ID 的文件夹,包含所有文件

参数类型描述
optionsDownloadOptions用于下载新压缩包 zip 的 {@link DownloadOptions}。

返回值: Promise<BundleInfo>


next(options: BundleId) => Promise<BundleInfo>

在应用程序重新加载时使用的下一个捆绑包。

参数类型描述
optionsBundleId包含应用程序下一次启动时设置的下一个捆绑包的 ID。 {@link BundleInfo.id}

返回值: Promise<BundleInfo>


set(options: BundleId) => Promise<void>

设置当前捆绑包并立即重新加载应用程序。

参数类型描述
optionsBundleId一个 {@link} 对象,包含要设置为当前的新包ID。 BundleId删除(…)

标题:删除(…)

复制到剪贴板
delete(options: BundleId) => Promise<void>

参数

类型描述delete(…)
optionsBundleId一个 {@link BundleId} 对象,包含要删除的包的 ID(注意,这是包 ID,而不是版本名称)

__CAPGO_KEEP_0__

list(…)
list(options?: ListOptions | undefined) => Promise<BundleListResult>

复制到剪贴板

获取本地下载的所有包ParamType
optionsListOptions描述 一个 {@link "ListOptions"} 对象}用于列出捆绑包

Returns: Promise<BundleListResult>


reset(options?: ResetOptions | undefined) => Promise<void>

重置应用到 builtin 捆绑包(发送到苹果应用商店/谷歌-play商店)或最后一次成功加载的捆绑包。

参数类型描述
optionsResetOptions包含 {@link ResetOptions.toLastSuccessful}}, true 恢复到内置的捆绑包 false 将会恢复到最后一次成功加载的捆绑包。

current() => Promise<CurrentBundleResult>

如果没有设置捆绑包,则返回当前捆绑包。 builtin. currentNative 是设备上安装的原始捆绑包

返回值: Promise<CurrentBundleResult>


reload() => Promise<void>

重新加载视图


setMultiDelay(options: MultiDelayConditions) => Promise<void>

设置一个 {@link DelayCondition} 数组,包含 Plugin 将使用的延迟更新条件。 当所有条件都满足后,更新过程将重新启动,更新将在后台或杀死应用后安装。 对于 "kind",值应为 ISO8601 日期字符串。 对于 "kind",值应为毫秒数。 对于 "kind",值应为版本号。 对于 "kind",值不被使用。 该函数在选项 "kill" 下存在不一致的行为,会在第一次杀死应用后触发更新,而不是在下一次后台运行。 此问题将在未来一个重大版本中修复。 ParamType date DelayCondition background DelayCondition nativeVersion DelayCondition kill DelayCondition

DelayConditionDelayCondition简介
optionsMultiDelayConditions包含 {@link 多延迟条件} 数组的条件来设置

4.3.0


cancelDelay() => Promise<void>

取消一个 {@link 延迟条件} 来立即处理更新。

4.0.0


获取最新(…)

标题:获取最新(…)
getLatest(options?: GetLatestOptions | undefined) => Promise<LatestVersion>

获取最新可用的 bundle,从更新 URL

参数类型
optionsGetLatestOptions

返回: Promise<LatestVersion>

自: 4.0.0


设置通道(…)

标题:设置通道(…)
setChannel(options: SetChannelOptions) => Promise<ChannelRes>

设置此设备的通道。通道必须有 allow_device_self_set 需要启用才能正常工作。

重要说明:

  • 不要使用此方法在启动时设置通道。使用 defaultChannel in your Capacitor config instead.
  • 公共通道无法自行分配。
  • 如果一个通道被标记为 ,调用 public会返回错误。要使用公共通道,请调用 setChannel() - 设备将自动切换到匹配的公共通道。 unsetChannel() 使用
  • 来发现可用的通道以及它们是否允许自行分配。 listChannels() __CAPGO_KEEP_0__
参数类型描述
optionsSetChannelOptions是否设置 {@link 设置通道选项}

返回值: Promise<ChannelRes>

4.7.0


unsetChannel(options: UnsetChannelOptions) => Promise<void>

取消设备的通道覆盖设置。调用此方法后,设备将自动从云端接收更新。 公共频道 __CAPGO_KEEP_0__

当您需要移动设备到默认更新频道或使用公共频道时,这很有用。

  • 您想将设备移动到默认更新频道
  • 您想使用公共频道(因为公共频道无法自行分配) setChannel())
ParamType
optionsUnsetChannelOptions

Since: 4.7.0


getChannel() => Promise<GetChannelRes>

获取该设备的频道

Returns: Promise<GetChannelRes>

Since: 4.8.0


listChannels()

listChannels()功能
listChannels() => Promise<ListChannelsResult>

列出此设备可用的所有频道。返回与设备当前环境(平台、模拟器/真实设备、开发/生产构建)兼容的频道,并且是公共频道或允许自我分配。

每个频道结果包括:

  • public如果 true,这是一个 默认频道.您无法使用 setChannel()将其分配为自我分配频道。相反,如果您使用 unsetChannel()该设备将自动从公共频道接收更新。
  • allow_self_set: 如果 true这是一个 自我分配频道。您可以使用 setChannel().

返回: Promise<ListChannelsResult>

7.5.0


设置自定义ID(…)

标题:设置自定义ID(…)
setCustomId(options: SetCustomIdOptions) => Promise<void>

为设备设置自定义ID

参数类型描述
optionsSetCustomIdOptions是 {@link SetCustomIdOptions} 中的自定义 ID

4.9.0


getBuiltinVersion()

标题:getBuiltinVersion()
getBuiltinVersion() => Promise<BuiltinVersion>

获取本机应用程序版本或在配置中设置的内置版本

返回: Promise<BuiltinVersion>

5.2.0


getDeviceId()

getDeviceId()
getDeviceId() => Promise<DeviceId>

获取设备唯一标识(用于自动更新服务器)

返回: Promise<DeviceId>


getPluginVersion()

getPluginVersion()
getPluginVersion() => Promise<PluginVersion>

获取本地Capacitor Updater插件版本(用于自动更新服务器)

返回: Promise<PluginVersion>


isAutoUpdateEnabled()

isAutoUpdateEnabled()
isAutoUpdateEnabled() => Promise<AutoUpdateEnabled>

获取自动更新配置的状态。

返回值: Promise<AutoUpdateEnabled>


removeAllListeners()

标题:removeAllListeners()
removeAllListeners() => Promise<void>

移除此插件的所有监听器。

自: 1.0.0


addListener('download', …)

标题:addListener('download', …)
addListener(eventName: 'download', listenerFunc: (state: DownloadEvent) => void) => Promise<PluginListenerHandle>

监听应用程序中的捆绑下载事件。触发下载开始、下载中和下载完成时。

参数类型
eventName’download’
listenerFunc(state: DownloadEvent) => void

返回: Promise<PluginListenerHandle>

自: 2.0.11


添加监听器(‘无需更新’,…)

标题:添加监听器(‘无需更新’,…)
addListener(eventName: 'noNeedUpdate', listenerFunc: (state: NoNeedEvent) => void) => Promise<PluginListenerHandle>

监听无需更新事件,适用于您希望每次启动应用程序都强制检查时

参数类型
eventName’noNeedUpdate’
listenerFunc(state: NoNeedEvent) => void

返回: Promise<PluginListenerHandle>

自: 4.0.0


添加监听器(‘updateAvailable’,…)

标题:添加监听器(‘updateAvailable’,…)
addListener(eventName: 'updateAvailable', listenerFunc: (state: UpdateAvailableEvent) => void) => Promise<PluginListenerHandle>

监听可用更新事件,适用于每次启动应用时强制检查

参数类型
eventName’updateAvailable’
listenerFunc(state: UpdateAvailableEvent) => void

返回: Promise<PluginListenerHandle>

自: 4.0.0


添加监听器(‘downloadComplete’,…)

标题:添加监听器(‘downloadComplete’,…)
addListener(eventName: 'downloadComplete', listenerFunc: (state: DownloadCompleteEvent) => void) => Promise<PluginListenerHandle>

监听下载完成事件

参数类型
eventName’downloadComplete’
listenerFunc(state: DownloadCompleteEvent) => void

返回: Promise<PluginListenerHandle>

自: 4.0.0


添加监听器(‘majorAvailable’,…)

标题:添加监听器(‘majorAvailable’,…)
addListener(eventName: 'majorAvailable', listenerFunc: (state: MajorAvailableEvent) => void) => Promise<PluginListenerHandle>

在 App 中监听重大更新事件,让您知道重大更新是否被禁用设置 disableAutoUpdateBreaking

参数类型
eventName’majorAvailable’
listenerFunc(state: MajorAvailableEvent) => void

返回: Promise<PluginListenerHandle>

自: 2.3.0


添加监听器(updateFailed,…)

标题:添加监听器(updateFailed,…)
addListener(eventName: 'updateFailed', listenerFunc: (state: UpdateFailedEvent) => void) => Promise<PluginListenerHandle>

在 App 中监听更新失败事件,让您知道下次启动 App 时更新安装失败

参数类型
eventName’updateFailed’
listenerFunc(state: UpdateFailedEvent) => void

返回值: Promise<PluginListenerHandle>

自: 2.3.0


添加监听器(downloadFailed,…)

标题:添加监听器(downloadFailed,…)
addListener(eventName: 'downloadFailed', listenerFunc: (state: DownloadFailedEvent) => void) => Promise<PluginListenerHandle>

在 App 中监听下载失败事件,让您知道下载的包下载失败

参数类型
eventName’downloadFailed’
listenerFunc(state: DownloadFailedEvent) => void

返回: Promise<PluginListenerHandle>

自: 4.0.0


添加监听器(‘appReloaded’,…)

标题:添加监听器(‘appReloaded’,…)
addListener(eventName: 'appReloaded', listenerFunc: () => void) => Promise<PluginListenerHandle>

监听 App 重载事件,让你知道重载已经发生

参数类型
eventName’appReloaded’
listenerFunc() => void

返回: Promise<PluginListenerHandle>

自: 4.3.0


addListener(eventName: 'appReady', listenerFunc: (state: AppReadyEvent) => void) => Promise<PluginListenerHandle>

在 App 中监听 app ready 事件,让你知道 app 已经准备好使用

参数类型
eventName’appReady’
listenerFunc(state: AppReadyEvent) => void

返回: Promise<PluginListenerHandle>

自: 5.1.0


isAutoUpdateAvailable() => Promise<AutoUpdateAvailable>

获取是否有自动更新可用(不受 serverUrl 禁用)

返回值: Promise<AutoUpdateAvailable>


getNextBundle() => Promise<BundleInfo | null>

当应用程序重新加载时,将使用的下一个捆绑包。 如果没有设置下一个捆绑包,则返回 null。

返回值: Promise<BundleInfo | null>

自: 6.8.0


__CAPGO_KEEP_0__(…)

标题:__CAPGO_KEEP_0__(…)
setShakeMenu(options: SetShakeMenuOptions) => Promise<void>

用于调试/测试目的,启用或禁用抖动菜单

参数类型描述
optionsSetShakeMenuOptions包含一个启用或禁用抖动菜单的布尔值

自: 7.5.0


__CAPGO_KEEP_0__()

标题:__CAPGO_KEEP_0__()
isShakeMenuEnabled() => Promise<ShakeMenuEnabled>

获取抖动菜单的当前状态

返回: Promise<ShakeMenuEnabled>

自: 7.5.0


AppReadyResult

应用就绪结果
Prop属性
bundleBundleInfo
Prop属性
idstring
versionstring
downloadedstring
checksumstring
statusBundleStatus

UpdateUrl

更新地址
Prop属性
urlstring

StatsUrl

统计URL
Prop类型
urlstring

ChannelUrl

频道URL
Prop类型
urlstring

DownloadOptions

下载选项

本 URL 和版本用于从服务器下载捆绑包。如果您使用后端,则所有信息都将由方法 getLatest 提供。如果您不使用后端,则需要提供捆绑包的 URL 和版本。若捆绑包已使用 CLI 命令加密,则需要 SessionKey,应从加密命令的结果中接收。

Prop类型描述默认值
urlstring要下载的捆绑包 zip 文件的 URL(例如:dist.zip)。(这可以是任何 URL。例如:Amazon S3,一个 GitHub 标签,任何其他地方你托管了你的捆绑包。)
versionstring捆绑包/版本的版本 code/name
sessionKeystring更新的会话密钥,当捆绑包用会话密钥加密时undefined4.0.0
checksumstring更新的校验和,应为 sha256,如果捆绑包加密,则应使用私钥加密undefined4.0.0
manifestManifestEntry[]Delta(manifest)多文件下载的清单undefined6.1.0

清单条目

清单条目
属性类型
file_namestring | null
file_hashstring | null
download_urlstring | null

包ID

包ID
属性类型
idstring

包列表结果

包列表结果
属性类型
bundlesBundleInfo[]

列表选项

列表选项
属性类型描述默认
rawboolean是否返回原始捆绑包列表或清单。如果为真,列表将尝试读取内部数据库而不是磁盘上的文件。false6.14.0
属性类型
toLastSuccessfulboolean

当前捆绑包结果

标题:当前捆绑包结果
属性类型
bundleBundleInfo
nativestring

__CAPGO_KEEP_0__

多延迟条件
属性类型
delayConditionsDelayCondition[]

延迟条件

属性
类型描述在 setMultiDelay 中设置延迟条件
kindDelayUntilNext最新版本
valuestring
属性类型描述
versionstring获取最新版本方法的结果4.0.0
checksumstring6
majorboolean
messagestring
sessionKeystring
errorstring
oldstring
urlstring
manifestManifestEntry[]6.1

获取最新版本选项

获取最新版本选项
属性类型描述默认值自从
channelstring获取最新版本的渠道必须允许 ‘自行分配’ 才能正常工作undefined6.8.0

渠道资源

渠道资源
属性类型描述自从
statusstring设置渠道的当前状态4.7.0
errorstring
messagestring

设置渠道选项

属性
Section titled “SetChannelOptions”类型
channelstring
triggerAutoUpdateboolean

__CAPGO_KEEP_0__

未设置通道选项
属性类型
triggerAutoUpdateboolean
属性类型描述
channelstring获取通道状态4.8.0
errorstring
messagestring
statusstring
allowSetboolean

ListChannelsResult

频道列表结果
Prop类型描述
channelsChannelInfo[]可用频道列表7.5.0

ChannelInfo

频道信息
Prop类型描述自从
idstring__CAPGO_KEEP_0__7.5.0
namestring__CAPGO_KEEP_0__7.5.0
publicboolean如果为真,这是默认/备份频道。设备无法自行将其分配到公共频道。相反,当设备使用()移除其频道覆盖时,它将自动从匹配的公共频道接收更新。 unsetChannel()如果为真,设备可以使用()明确将其分配到此频道。通常用于beta测试、A/B测试或优惠升级跟踪。7.5.0
allow_self_setboolean设置自定义ID选项 setChannel()标题:设置自定义ID选项7.5.0

属性

类型
内置版本If true, devices can explicitly self-assign to this channel using __CAPGO_KEEP_1__.
customIdstring

If true, this is a default/fallback channel. Devices cannot self-assign to public channels. Instead, when a device removes its channel override (using __CAPGO_KEEP_1__), it will automatically receive updates from the matching public channel.

内置版本
属性类型
versionstring

设备ID

设备ID
属性类型
deviceIdstring

插件版本

属性
类型自动更新
versionstring
属性类型
enabledboolean

插件监听器句柄

插件监听器句柄
属性类型
remove() => Promise<void>

下载事件

属性
类型描述__CAPGO_KEEP_0__自从
percentnumber下载进度,范围为 0 到 100。4.0.0
bundleBundleInfo

NoNeedEvent

无需事件
Prop类型描述自从
bundleBundleInfo下载进度,范围为 0 到 100。4.0.0

UpdateAvailableEvent

更新可用事件
Prop类型描述
bundleBundleInfo__CAPGO_KEEP_0__4.0.0

下载完成事件

标题:下载完成事件
属性类型描述
bundleBundleInfo__CAPGO_KEEP_0__4.0.0

主版本可用事件

主要可用事件
属性类型描述
versionstring当有新主要捆绑包可用时发射。4.0.0

更新失败事件

主要更新事件
属性类型描述
bundleBundleInfo安装更新失败时触发。4.0.0

DownloadFailedEvent

下载失败事件
属性类型描述
versionstring下载失败时触发。4.0.0
属性类型描述
bundleBundleInfo应用程序准备好使用时发出。5.2.0
statusstring

自动更新可用

自动更新可用
属性类型
availableboolean

设置摇动菜单选项

设置摇动菜单选项
属性类型
enabledboolean

摇动菜单启用

ShakeMenuEnabled
属性类型
enabledboolean

类型别名

类型别名

Bundle状态

Bundle状态

等待:正在等待下一个包的下载。 下载中:正在下载包。 成功:包下载完成,准备作为下一个包。 错误:下载包失败。 设置 设置 设置 设置

‘success’ | ‘error’ | ‘pending’ | ‘downloading’

__CAPGO_KEEP_0__

延迟到下一次

‘background’ | ‘kill’ | ‘nativeVersion’ | ‘date’