Saltar al contenido

Funciones y configuraciones

Consulta el Readme de GitHub para más información.

CapacitorUpdater puede configurarse con estas opciones:

PropTipoDescripciónPor defectoDesde
appReadyTimeoutnumberConfigura el número de milisegundos que el Plugin nativo debe esperar antes de considerar una actualización como ‘fallida’. Solo disponible para Android e iOS.10000 // (10 segundos)
responseTimeoutnumberConfigura el número de milisegundos que el Plugin nativo debe esperar antes de considerar un timeout de API. Solo disponible para Android e iOS.20 // (20 segundos)
autoDeleteFailedbooleanConfigura si el Plugin debe eliminar automáticamente los Paquetes fallidos. Solo disponible para Android e iOS.true
autoDeletePreviousbooleanConfigura si el Plugin debe eliminar automáticamente los Paquetes anteriores después de una actualización exitosa. Solo disponible para Android e iOS.true
autoUpdatebooleanConfigura si el Plugin debe usar Actualización Automática a través de un servidor de actualizaciones. Solo disponible para Android e iOS.true
resetWhenUpdatebooleanElimina automáticamente los Paquetes descargados anteriores cuando se instala un nuevo Paquete de aplicación nativa en el dispositivo. Solo disponible para Android e iOS.true
updateUrlstringConfigura la URL / endpoint al que se envían las verificaciones de actualización. Solo disponible para Android e iOS.https://Plugin.Capgo.Aplicación/Actualizaciones
channelUrlstringConfigura la URL / endpoint para operaciones de canal. Solo disponible para Android e iOS.https://Plugin.Capgo.Aplicación/channel_self
statsUrlstringConfigura la URL / endpoint al que se envían las estadísticas de actualización. Solo disponible para Android e iOS. Establece en "" para deshabilitar el reporte de estadísticas.https://Plugin.Capgo.Aplicación/stats
publicKeystringConfigura la clave pública para cifrado de actualizaciones en vivo de extremo a extremo Versión 2 Solo disponible para Android e iOS.undefined6.2.0
versionstringConfigura la versión actual de la aplicación. Esto se usará para la primera solicitud de actualización. Si no se establece, el Plugin obtendrá la versión del código nativo. Solo disponible para Android e iOS.undefined4.17.48
directUpdateboolean | ‘always’ | ‘atInstall’ | ‘onLaunch’Configura cuándo el Plugin debe realizar instalación directa de actualizaciones. Solo para modo autoUpdate. Funciona bien para aplicaciones menores a 10MB y con cargas realizadas usando el flag —partial. Zip o aplicaciones mayores a 10MB serán relativamente lentas para que los usuarios actualicen. - false: Nunca hacer actualizaciones directas (usar comportamiento predeterminado: descargar al inicio, establecer cuando se pone en segundo plano) - atInstall: Actualización directa solo cuando la aplicación está instalada, actualizada desde la tienda, de lo contrario actúa como directUpdate = false - onLaunch: Actualización directa solo al instalar la aplicación, actualizarla desde la tienda o después de cerrar la aplicación, de lo contrario actúa como directUpdate = false - always: Actualización directa en todos los casos anteriores (aplicación instalada, actualizada desde la tienda, después de cerrar la aplicación o reanudar la aplicación), nunca actúa como directUpdate = false - true: (obsoleto) Lo mismo que “always” para retrocompatibilidad Solo disponible para Android e iOS.false5.1.0
autoSplashscreenbooleanManeja automáticamente el ocultamiento de la pantalla de bienvenida cuando se usa directUpdate. Cuando está habilitado, el Plugin ocultará automáticamente la pantalla de bienvenida después de aplicar las actualizaciones o cuando no se necesite actualización. Esto elimina la necesidad de escuchar manualmente los eventos appReady y llamar a SplashScreen.hide(). Solo funciona cuando directUpdate está establecido en “atInstall”, “always” o true. Requiere que el Plugin @Capacitor/splash-screen esté instalado y configurado con launchAutoHide: false. Requiere que autoUpdate y directUpdate estén habilitados. Solo disponible para Android e iOS.false7.6.0
periodCheckDelaynumberConfigura el período de retraso para la verificación periódica de actualizaciones. La unidad es en segundos. Solo disponible para Android e iOS. No puede ser menor a 600 segundos (10 minutos).600 // (10 minutos)
localS3booleanConfigura el CLI para usar un servidor local para pruebas o servidor de actualizaciones auto-hospedado.undefined4.17.48
localHoststringConfigura el CLI para usar un servidor local para pruebas o servidor de actualizaciones auto-hospedado.undefined4.17.48
localWebHoststringConfigura el CLI para usar un servidor local para pruebas o servidor de actualizaciones auto-hospedado.undefined4.17.48
localSupastringConfigura el CLI para usar un servidor local para pruebas o servidor de actualizaciones auto-hospedado.undefined4.17.48
localSupaAnonstringConfigura el CLI para usar un servidor local para pruebas.undefined4.17.48
localApistringConfigura el CLI para usar una API local para pruebas.undefined6.3.3
localApiFilesstringConfigura el CLI para usar una API de archivos local para pruebas.undefined6.3.3
allowModifyUrlbooleanPermite que el Plugin modifique dinámicamente updateUrl, statsUrl y channelUrl desde el lado de JavaScript.false5.4.0
defaultChannelstringEstablece el canal predeterminado para la aplicación en la configuración. Sensible a mayúsculas. Esta configuración anulará el canal predeterminado establecido en la nube, pero aún respetará las anulaciones hechas en la nube.undefined5.5.0
appIdstringConfigura el id de la aplicación en la configuración.undefined6.0.0
keepUrlPathAfterReloadbooleanConfigura el Plugin para mantener la ruta de URL después de una recarga. ADVERTENCIA: Cuando se activa una recarga, ‘window.history’ se borrará.false6.8.0
disableJSLoggingbooleanDeshabilita el registro de JavaScript del Plugin. Si es true, el Plugin no registrará en la consola de JavaScript. Solo se realizará el registro nativofalse7.3.0
shakeMenubooleanHabilita el gesto de sacudir para mostrar el menú de actualización para propósitos de depuración/pruebafalse7.5.0

En capacitor.config.json:

{
"plugins": {
"CapacitorUpdater": {
"appReadyTimeout": 1000 // (1 segundo),
"responseTimeout": 10 // (10 segundos),
"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
}
}
}

En capacitor.config.ts:

/// <reference types="@capgo/capacitor-updater" />
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
appReadyTimeout: 1000 // (1 segundo),
responseTimeout: 10 // (10 segundos),
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>

Notifica a Capacitor Updater que el Paquete actual está funcionando (ocurrirá un Reversión si este método no se llama en cada inicio de aplicación) Por defecto, este método debe llamarse en los primeros 10 segundos después del inicio de la aplicación, de lo contrario ocurrirá un Reversión. Cambia este comportamiento con {@Enlace appReadyTimeout}

Retorna: Promise<AppReadyResult>


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

Establece la updateUrl para la aplicación, esto se usará para verificar actualizaciones.

ParámetroTipoDescripción
optionsUpdateUrlcontiene la URL a usar para verificar actualizaciones.

Desde: 5.4.0


setStatsUrl(options: StatsUrl) => Promise<void>

Establece la statsUrl para la aplicación, esto se usará para enviar estadísticas. Pasar una cadena vacía deshabilitará la recopilación de estadísticas.

ParámetroTipoDescripción
optionsStatsUrlcontiene la URL a usar para enviar estadísticas.

Desde: 5.4.0


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

Establece la channelUrl para la aplicación, esto se usará para establecer el canal.

ParámetroTipoDescripción
optionsChannelUrlcontiene la URL a usar para establecer el canal.

Desde: 5.4.0


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

Descarga un nuevo Paquete desde la URL proporcionada, debe ser un archivo zip, con archivos dentro o con un id único dentro con todos tus archivos

ParámetroTipoDescripción
optionsDownloadOptionsLas {@Enlace DownloadOptions} para descargar un nuevo Paquete zip.

Retorna: Promise<BundleInfo>


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

Establece el siguiente Paquete a usar cuando la aplicación se recarga.

ParámetroTipoDescripción
optionsBundleIdContiene el ID del siguiente Paquete a establecer en el próximo inicio de la aplicación. {@Enlace BundleInfo.id}

Retorna: Promise<BundleInfo>


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

Establece el Paquete actual e inmediatamente recarga la aplicación.

ParámetroTipoDescripción
optionsBundleIdUn objeto {@Enlace BundleId} que contiene el nuevo id del Paquete a establecer como actual.

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

Elimina el Paquete especificado del almacenamiento de la aplicación nativa. Usa con {@Enlace list} para obtener los IDs de Paquete almacenados.

ParámetroTipoDescripción
optionsBundleIdUn objeto {@Enlace BundleId} que contiene el ID de un Paquete a eliminar (nota, este es el id del Paquete, NO el nombre de versión)

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

Obtiene todos los Paquetes descargados localmente en tu aplicación

ParámetroTipoDescripción
optionsListOptionsLas {@Enlace ListOptions} para listar Paquetes

Retorna: Promise<BundleListResult>


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

Restablece la aplicación al Paquete builtin (el enviado a Apple Aplicación Store / Google Play Store) o al último Paquete cargado exitosamente.

ParámetroTipoDescripción
optionsResetOptionsContiene {@Enlace ResetOptions.toLastSuccessful}, true restablece al Paquete builtin y false restablecerá al último Paquete cargado exitosamente.

current() => Promise<CurrentBundleResult>

Obtiene el Paquete actual, si no hay ninguno establecido retorna builtin. currentNative es el Paquete original instalado en el dispositivo

Retorna: Promise<CurrentBundleResult>


reload() => Promise<void>

Recarga la vista


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

Establece un array de {@Enlace DelayCondition} que contiene condiciones que el Plugin usará para retrasar la actualización. Después de que se cumplan todas las condiciones, el proceso de actualización comenzará nuevamente como de costumbre, por lo que la actualización se instalará después de poner en segundo plano o cerrar la aplicación. Para el tipo date, el valor debe ser una cadena de fecha iso8601. Para el tipo background, el valor debe ser un número en milisegundos. Para el tipo nativeVersion, el valor debe ser el número de versión. Para el tipo kill, el valor no se usa. La función tiene comportamiento inconsistente, la opción kill activa la actualización después del primer cierre y no después del siguiente segundo plano como otras opciones. Esto se corregirá en una futura versión mayor.

ParámetroTipoDescripción
optionsMultiDelayConditionsContiene el array de {@Enlace MultiDelayConditions} de condiciones a establecer

Desde: 4.3.0


cancelDelay() => Promise<void>

Cancela una {@Enlace DelayCondition} para procesar una actualización inmediatamente.

Desde: 4.0.0


getLatest(options?: GetLatestOptions | undefined) => Promise<LatestVersion>

Obtiene el último Paquete disponible desde la URL de actualización

ParámetroTipo
optionsGetLatestOptions

Retorna: Promise<LatestVersion>

Desde: 4.0.0


setChannel(options: SetChannelOptions) => Promise<ChannelRes>

Establece el canal para este dispositivo. El canal debe permitir auto-asignación para que esto funcione. No uses este método para establecer el canal al inicio. Este método es para establecer el canal después de que la aplicación esté lista, y el usuario haya interactuado. Si quieres establecer el canal al inicio, usa {@Enlace PluginsConfig} para establecer el canal predeterminado. Este método envía al backend de Capgo una solicitud para vincular el ID del dispositivo al canal. Capgo puede aceptar o rechazar dependiendo de la configuración de tu canal.

ParámetroTipoDescripción
optionsSetChannelOptionsEs el canal {@Enlace SetChannelOptions} a establecer

Retorna: Promise<ChannelRes>

Desde: 4.7.0


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

Desestablece el canal para este dispositivo. El dispositivo volverá entonces al canal predeterminado

ParámetroTipo
optionsUnsetChannelOptions

Desde: 4.7.0


getChannel() => Promise<GetChannelRes>

Obtiene el canal para este dispositivo

Retorna: Promise<GetChannelRes>

Desde: 4.8.0


listChannels() => Promise<ListChannelsResult>

Lista todos los canales disponibles para este dispositivo que permiten auto-asignación

Retorna: Promise<ListChannelsResult>

Desde: 7.5.0


setCustomId(options: SetCustomIdOptions) => Promise<void>

Establece un ID personalizado para este dispositivo

ParámetroTipoDescripción
optionsSetCustomIdOptionses el {@Enlace SetCustomIdOptions} customId a establecer

Desde: 4.9.0


getBuiltinVersion() => Promise<BuiltinVersion>

Obtiene la versión de la aplicación nativa o la versión builtin si se estableció en la configuración

Retorna: Promise<BuiltinVersion>

Desde: 5.2.0


getDeviceId() => Promise<DeviceId>

Obtiene el ID único usado para identificar el dispositivo (enviado al servidor de actualización automática)

Retorna: Promise<DeviceId>


getPluginVersion() => Promise<PluginVersion>

Obtiene la versión del Plugin nativo Capacitor Updater (enviado al servidor de actualización automática)

Retorna: Promise<PluginVersion>


isAutoUpdateEnabled() => Promise<AutoUpdateEnabled>

Obtiene el estado de la configuración de actualización automática.

Retorna: Promise<AutoUpdateEnabled>


removeAllListeners() => Promise<void>

Elimina todos los listeners de este Plugin.

Desde: 1.0.0


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

Escucha el evento de descarga de Paquete en la Aplicación. Se activa una vez que comienza una descarga, durante la descarga y cuando termina. Esto te devolverá todos los porcentajes de descarga durante la descarga

ParámetroTipo
eventName’Descargar’
listenerFunc(state: DownloadEvent) => void

Retorna: Promise<PluginListenerHandle>

Desde: 2.0.11


addListener(eventName: 'noNeedUpdate', listenerFunc: (state: NoNeedEvent) => void) => Promise<PluginListenerHandle>

Escucha el evento de no necesidad de actualización, útil cuando quieres forzar la verificación cada vez que se inicia la aplicación

ParámetroTipo
eventName’noNeedUpdate’
listenerFunc(state: NoNeedEvent) => void

Retorna: Promise<PluginListenerHandle>

Desde: 4.0.0


addListener(eventName: 'updateAvailable', listenerFunc: (state: UpdateAvailableEvent) => void) => Promise<PluginListenerHandle>

Escucha el evento de actualización disponible, útil cuando quieres forzar la verificación cada vez que se inicia la aplicación

ParámetroTipo
eventName’updateAvailable’
listenerFunc(state: UpdateAvailableEvent) => void

Retorna: Promise<PluginListenerHandle>

Desde: 4.0.0


addListener(eventName: 'downloadComplete', listenerFunc: (state: DownloadCompleteEvent) => void) => Promise<PluginListenerHandle>

Escucha eventos de downloadComplete.

ParámetroTipo
eventName’downloadComplete’
listenerFunc(state: DownloadCompleteEvent) => void

Retorna: Promise<PluginListenerHandle>

Desde: 4.0.0


addListener(eventName: 'majorAvailable', listenerFunc: (state: MajorAvailableEvent) => void) => Promise<PluginListenerHandle>

Escucha el evento de actualización Mayor en la Aplicación, te permite saber cuando una actualización mayor está bloqueada al establecer disableAutoUpdateBreaking

ParámetroTipo
eventName’majorAvailable’
listenerFunc(state: MajorAvailableEvent) => void

Retorna: Promise<PluginListenerHandle>

Desde: 2.3.0


addListener(eventName: 'updateFailed', listenerFunc: (state: UpdateFailedEvent) => void) => Promise<PluginListenerHandle>

Escucha el evento de fallo de actualización en la Aplicación, te permite saber cuando la actualización ha fallado al instalarse en el próximo inicio de la aplicación

ParámetroTipo
eventName’updateFailed’
listenerFunc(state: UpdateFailedEvent) => void

Retorna: Promise<PluginListenerHandle>

Desde: 2.3.0


addListener(eventName: 'downloadFailed', listenerFunc: (state: DownloadFailedEvent) => void) => Promise<PluginListenerHandle>

Escucha el evento de fallo de descarga en la Aplicación, te permite saber cuando la descarga de un Paquete ha fallado

ParámetroTipo
eventName’downloadFailed’
listenerFunc(state: DownloadFailedEvent) => void

Retorna: Promise<PluginListenerHandle>

Desde: 4.0.0


addListener(eventName: 'appReloaded', listenerFunc: () => void) => Promise<PluginListenerHandle>

Escucha el evento de recarga en la Aplicación, te permite saber cuando ha ocurrido una recarga

ParámetroTipo
eventName’appReloaded’
listenerFunc() => void

Retorna: Promise<PluginListenerHandle>

Desde: 4.3.0


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

Escucha el evento de aplicación lista en la Aplicación, te permite saber cuando la aplicación está lista para usar

ParámetroTipo
eventName’appReady’
listenerFunc(state: AppReadyEvent) => void

Retorna: Promise<PluginListenerHandle>

Desde: 5.1.0


isAutoUpdateAvailable() => Promise<AutoUpdateAvailable>

Obtiene si la actualización automática está disponible (no deshabilitada por serverUrl).

Retorna: Promise<AutoUpdateAvailable>


getNextBundle() => Promise<BundleInfo | null>

Obtiene el siguiente Paquete que se usará cuando la aplicación se recargue. Retorna null si no hay un siguiente Paquete establecido.

Retorna: Promise<BundleInfo | null>

Desde: 6.8.0


setShakeMenu(options: SetShakeMenuOptions) => Promise<void>

Habilita o deshabilita el menú de sacudida para propósitos de depuración/prueba

ParámetroTipoDescripción
optionsSetShakeMenuOptionsContiene el booleano Habilitado para habilitar o deshabilitar el menú de sacudida

Desde: 7.5.0


isShakeMenuEnabled() => Promise<ShakeMenuEnabled>

Obtiene el estado actual del menú de sacudida

Retorna: Promise<ShakeMenuEnabled>

Desde: 7.5.0


PropTipo
bundleBundleInfo
PropTipo
idstring
versionstring
downloadedstring
checksumstring
statusBundleStatus
PropTipo
urlstring
PropTipo
urlstring
PropTipo
urlstring

Esta URL y versiones se usan para descargar el Paquete desde el servidor. Si usas backend, toda la información será proporcionada por el método getLatest. Si no usas backend, necesitas proporcionar la URL y versión del Paquete. Checksum y sessionKey son requeridos si cifraste el Paquete con el comando CLI encrypt, deberías recibirlos como resultado del comando.

PropTipoDescripciónPor defectoDesde
urlstringLa URL del archivo zip del Paquete (ej: dist.zip) a descargar. (Puede ser cualquier URL. Ej: Amazon S3, una etiqueta de GitHub, cualquier otro lugar donde hayas alojado tu Paquete.)
versionstringEl código/nombre de versión de este Paquete/versión
sessionKeystringLa clave de sesión para la actualización, cuando el Paquete está cifrado con una clave de sesiónundefined4.0.0
checksumstringEl checksum para la actualización, debe estar en sha256 y cifrado con clave privada si el Paquete está cifradoundefined4.0.0
manifestManifestEntry[]El manifiesto para descargas de múltiples archivosundefined6.1.0
PropTipo
file_namestring | null
file_hashstring | null
download_urlstring | null
PropTipo
idstring
PropTipo
bundlesBundleInfo[]
PropTipoDescripciónPor defectoDesde
rawbooleanSi retornar la lista de Paquetes sin procesar o el manifiesto. Si es true, la lista intentará leer la base de datos interna en lugar de archivos en disco.false6.14.0
PropTipo
toLastSuccessfulboolean
PropTipo
bundleBundleInfo
nativestring
PropTipo
delayConditionsDelayCondition[]
PropTipoDescripción
kindDelayUntilNextConfigura condiciones de retraso en setMultiDelay
valuestring
PropTipoDescripciónDesde
versionstringResultado del método getLatest4.0.0
checksumstring6
majorboolean
messagestring
sessionKeystring
errorstring
oldstring
urlstring
manifestManifestEntry[]6.1
PropTipoDescripciónPor defectoDesde
channelstringEl canal para obtener la última versión El canal debe permitir ‘self_assign’ para que esto funcioneundefined6.8.0
PropTipoDescripciónDesde
statusstringEstado actual de establecer canal4.7.0
errorstring
messagestring
PropTipo
channelstring
triggerAutoUpdateboolean
PropTipo
triggerAutoUpdateboolean
PropTipoDescripciónDesde
channelstringEstado actual de obtener canal4.8.0
errorstring
messagestring
statusstring
allowSetboolean
PropTipoDescripciónDesde
channelsChannelInfo[]Lista de canales disponibles7.5.0
PropTipoDescripciónDesde
idstringEl ID del canal7.5.0
namestringEl nombre del canal7.5.0
publicbooleanSi este es un canal público7.5.0
allow_self_setbooleanSi los dispositivos pueden auto-asignarse a este canal7.5.0
PropTipo
customIdstring
PropTipo
versionstring
PropTipo
deviceIdstring
PropTipo
versionstring
PropTipo
enabledboolean
PropTipo
remove() => Promise<void>
PropTipoDescripciónDesde
percentnumberEstado actual de descarga, entre 0 y 100.4.0.0
bundleBundleInfo
PropTipoDescripciónDesde
bundleBundleInfoEstado actual de descarga, entre 0 y 100.4.0.0
PropTipoDescripciónDesde
bundleBundleInfoEstado actual de descarga, entre 0 y 100.4.0.0
PropTipoDescripciónDesde
bundleBundleInfoSe emite cuando una nueva actualización está disponible.4.0.0
PropTipoDescripciónDesde
versionstringSe emite cuando un nuevo Paquete mayor está disponible.4.0.0
PropTipoDescripciónDesde
bundleBundleInfoSe emite cuando una actualización falla al instalarse.4.0.0
PropTipoDescripciónDesde
versionstringSe emite cuando falla una descarga.4.0.0
PropTipoDescripciónDesde
bundleBundleInfoSe emite cuando la aplicación está lista para usar.5.2.0
statusstring
PropTipo
availableboolean
PropTipo
enabledboolean
PropTipo
enabledboolean

Pendiente: El Paquete está pendiente de ser ESTABLECIDO como el próximo Paquete. downloading: El Paquete se está descargando. Éxito: El Paquete se ha descargado y está listo para ser ESTABLECIDO como el próximo Paquete. Error: El Paquete ha fallado al descargarse.

‘Éxito’ | ‘Error’ | ‘Pendiente’ | ‘downloading’

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