Plugin API

download(options: { url: string; }) => Promise<{ version: string; }>
Download a new version from the provided URL, it should be a zip file, with files inside or with a unique folder inside with all your files
Param
Type
options
{ url: string; }
Returns: Promise<{ version: string; }>

set(options: { version: string; versionName?: string; }) => Promise<void>
Set version as current version, set will return an error if there are is no index.html file inside the version folder. versionName is optional, and it's a custom value that will be saved for you
Param
Type
options
{ version: string; versionName?: string; }

getId() => Promise<{ id: string; }>
Get unique ID used to identify device into auto update server
Returns: Promise<{ id: string; }>

delete(options: { version: string; }) => Promise<void>
Delete version in storage
Param
Type
options
{ version: string; }

list() => Promise<{ versions: string[]; }>
Get all available versions
Returns: Promise<{ versions: string[]; }>

reset(options?: { toAutoUpdate?: boolean | undefined; } | undefined) => Promise<void>
Set the builtin version (the one sent to Apple store / Google play store ) as current version
Param
Type
options
{ toAutoUpdate?: boolean; }

current() => Promise<{ current: string; currentNative: string; }>
Get the current version, if none are set it returns builtin, currentNative is the original version install on the device
Returns: Promise<{ current: string; currentNative: string; }>

reload() => Promise<void>
Reload the view

versionName() => Promise<{ versionName: string; }>
Get the version name, if it was set during the set phase
Returns: Promise<{ versionName: string; }>

notifyAppReady() => Promise<void>
Notify native plugin that the update is working, only in auto-update

delayUpdate() => Promise<void>
Skip updates in the next time the app goes into the background, only in auto-update

cancelDelay() => Promise<void>
allow update in the next time the app goes into the background, only in auto-update

import { CapacitorUpdater } from '@capgo/capacitor-updater';
CapacitorUpdater.addListener('download', (info: any) => {
console.log('download was fired', info.percent);
});
On iOS, Apple don't allow you to show a message when the app is updated, so you can't show a progress bar.

You need to use ngZone to let the event be detected in angular
public updatingDownloadProgress: number = 0;
constructor(
...
private ngZone: NgZone
...) {
CapacitorUpdater.addListener("download", (state: DownloadEvent) => {
this.ngZone.run(() => {
this.updatingDownloadProgress = state.percent;
});
});
}

addListener(eventName: 'download', listenerFunc: DownloadChangeListener) => Promise<PluginListenerHandle> & PluginListenerHandle
Listen for download event in the App, let you know when the download is started, loading and finished
Param
Type
eventName
'download'
listenerFunc
DownloadChangeListener
Returns: Promise<PluginListenerHandle> & PluginListenerHandle
Since: 2.0.11

addListener(eventName: 'majorAvailable', listenerFunc: MajorAvailableListener) => Promise<PluginListenerHandle> & PluginListenerHandle
Listen for Major update event in the App, let you know when major update is blocked by setting disableAutoUpdateBreaking
Param
Type
eventName
'majorAvailable'
listenerFunc
MajorAvailableListener
Returns: Promise<PluginListenerHandle> & PluginListenerHandle
Since: 2.3.0

addListener(eventName: 'updateAvailable', listenerFunc: UpdateAvailableListener) => Promise<PluginListenerHandle> & PluginListenerHandle
Listen for update event in the App, let you know when update is ready to install at next app start
Param
Type
eventName
'updateAvailable'
listenerFunc
UpdateAvailableListener
Returns: Promise<PluginListenerHandle> & PluginListenerHandle
Since: 2.3.0

addListener(eventName: string, listenerFunc: (...args: any[]) => any) => Promise<PluginListenerHandle>
Param
Type
eventName
string
listenerFunc
(...args: any[]) => any
Returns: Promise<PluginListenerHandle>

removeAllListeners() => Promise<void>

Prop
Type
remove
() => Promise<void>

Prop
Type
Description
Since
percent
number
Current status of download, between 0 and 100.
2.0.11

Prop
Type
Description
Since
version
string
Emit when a new major version is available.
2.3.0

Prop
Type
Description
Since
version
string
Emit when a new update is available.
3.0.0

DownloadChangeListener
(state: DownloadEvent): void
MajorAvailableListener
(state: MajorAvailableEvent): void
UpdateAvailableListener
(state: UpdateAvailableEvent): void

After install capacitor-updater to your project, you can configure some behavior:
  • resetWhenUpdate set it false to disable the reset version when update
  • autoUpdateUrl the target URL to get updates
  • autoUpdate true or false depend on if you want manual or auto
  • statsUrl the target URL for stats set it to "" to disable stats
{
"appId": "**.***.**",
"appName": "Name",
"plugins": {
"CapacitorUpdater": {
"resetWhenUpdate": false
}
}
}

Last modified 24d ago
Copy link
Edit on GitHub
On this page
API
download(...)
set(...)
getId()
list()
reset(...)
current()
reload()
versionName()
notifyAppReady()
delayUpdate()
cancelDelay()
Events
Angular specific
addListener('download', ...)
addListener('majorAvailable', ...)
addListener('updateAvailable', ...)
addListener(string, ...)
removeAllListeners()
Interfaces
PluginListenerHandle
DownloadEvent
MajorAvailableEvent
UpdateAvailableEvent
Settings