Saltare al contenuto

Aggiornamento automatico

GitHub

Questa documentazione spiegherà come eseguire il tuo server di aggiornamento automatico.

Assicurati che il tuo bundle sia servito su HTTPS, e che il server abbia i capi CORS corretti per consentire all'app di scaricare l'aggiornamento. Esempio: https://myserver.com/app/updates/updates.json

Se sei sconosciuto con il servizio di un bundle, ti consigliamo di provare Capgo Cloud o di consultare un esempio qui:

Aggiungi un updateUrl a tuo capacitor.config.json.

{
"plugins": {
"CapacitorUpdater": {
"updateUrl": "https://myserver.com/app/updates/updates.json",
}
}
}

Il plugin eseguirà una chiamata POST sul tuo API ogni volta che l'app è aperta, con il seguente corpo:

interface AppInfos {
"platform": "ios" | "android" | "electron",
"device_id": "UUID_of_device_unique_by_install",
"app_id": "APPID_FROM_CAPACITOR_CONFIG",
"custom_id": "your_custom_id_set_on_runtime",
"plugin_version": "PLUGIN_VERSION",
"version_build": "VERSION_NUMBER_FROM_NATIVE_CODE",
"version_code": "VERSION_CODE_FROM_NATIVE_CODE",
"version_name": "LAST_DOWNLOADER_VERSION" | "builtin"
"version_os": "VERSION_OF_SYSTEM_OS",
"is_emulator": boolean,
"is_prod": boolean,
}

The server API dovrebbe rispondere, in formato JSON, al plugin di aggiornamento capacitor.

{
"version": "1.2.3",
"url": "https://myserver.com/app/updates/my-new-app-2.0.0.zip",
"checksum": "sha256_checksum_of_bundle"
}

In modalità di aggiornamento automatico il server dovrebbe confrontare le versioni e restituire quella giusta, se presente la chiave URL, il plugin avvia il processo di download.

Se aggiungi le chiavi 'message' e 'error', la versione non verrà impostata e il messaggio verrà visualizzato nei log invece.

version La chiave dovrebbe essere in semver formato.

Il file zip dovrebbe avere index.html come file radice, o solo una cartella radice con index.html all'interno.

Potresti utilizzare il comando del CLI per zipare il tuo bundle:

Creare un bundle con i tuoi file da servire dal tuo server
npx @capgo/cli bundle zip --path [/path/to/my/bundle]

Importante: Devi utilizzare i Capgo CLI per creare il file zip del tuo pacchetto. Il plugin Capgo richiede un formato e una struttura zip specifici che sono garantiti solo quando si utilizza lo strumento ufficiale CLI. Le utility zip standard possono creare archivi incompatibili.

Per generare la somma di controllo per il tuo pacchetto, utilizza il comando zip Capgo CLI con il --json flag:

Crea pacchetto con informazioni sulla somma di controllo
npx @capgo/cli bundle zip [appId] --json

Questo comando eseguirà:

  • Crea un file zip correttamente formattato compatibile con il plugin Capgo
  • Genera la somma di controllo SHA256 per la verifica dell'integrità
  • Stampa informazioni sul pacchetto in formato JSON

Esempio di output:

{
"version": "1.2.3",
"checksum": "a1b2c3d4e5f6789...",
"size": 1234567
}

Utilizza il checksum valore di questo output nel tuo API risposta per assicurarti che il plugin possa verificare l'integrità del pacchetto prima dell'installazione.

Se stai utilizzando Auto Update per pianificare la migrazione e le operazioni aziendali, connettilo con Utilizzando @capgo/capacitor-aggiornatore per la capacità nativa in Utilizzando @capgo/capacitor-aggiornatore, Capgo Enterprise per il workflow del prodotto in Capgo Enterprise, Alternative per l'plugin di Ionic Enterprise per il workflow del prodotto in Alternative per l'plugin di Ionic Enterprise, Alternative per Capgo per il workflow del prodotto in Alternative per Capgo, e Consulting di Capgo per il workflow del prodotto in Consulting di Capgo.