Saltare al contenuto

Auto Aggiornamento

GitHub

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

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

Se siete sconosciuti con il servizio di un bundle, vi 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 effettuerà una chiamata POST al 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,
}

Il server API dovrebbe rispondere, in formato JSON, al plugin di aggiornamento capacitor. Con i dati di questo tipo se è necessario un aggiornamento:

{
"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 la chiave URL è presente, il plugin avvia il processo di download.

Se aggiungi le chiavi “messaggio” e “errore”, la versione non sarà 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 al root, o solo una cartella al root con index.html all'interno.

Potresti utilizzare il comando di CLI per creare un file zip del 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 il Capgo CLI per creare il file zip del tuo bundle. 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 il checksum del tuo bundle, utilizza il comando Capgo CLI zip con la --json flag:

Creare un bundle con informazioni sul checksum
npx @capgo/cli bundle zip [appId] --json

Questo comando farà:

  • Creare un file zip formato corretto compatibile con il plugin Capgo
  • Generare il checksum SHA256 per la verifica dell'integrità
  • Visualizzare le informazioni del bundle in formato JSON

Esempio di output:

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

Usare il checksum il valore di questo output nel tuo API per assicurarti che il plugin possa verificare l'integrità del bundle 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 for the product workflow in Capgo Enterprise, per il flusso di lavoro del prodotto in __CAPGO_KEEP_0__ Enterprise, Alternative plugin Enterprise di Ionic Capgo Alternatives Capgo Alternative per il flusso di lavoro del prodotto in Capgo Alternative, e Capgo Consulting