Aggiornamento automatico
Copia un prompt di configurazione con le istruzioni di installazione e la guida markdown completa per questo plugin.
Questa documentazione spiegherà come eseguire il tuo server di aggiornamento automatico.
Servire il tuo bundle
Sezione intitolata “Servire il tuo bundle”Assicurati che il tuo bundle sia servito su HTTPS e che il server abbia i giusti header CORS 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:
Configurazione
Sezione intitolata “Configurazione”Aggiungi un updateUrl al tuo capacitor.config.json.
{ "plugins": { "CapacitorUpdater": { "updateUrl": "https://myserver.com/app/updates/updates.json", } }}Aggiorna API
Sezione intitolata "Aggiorna API"Il plugin effettuerà una chiamata POST al tuo API ogni volta che l'app è aperta, con questo 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 JSON, al plugin di aggiornamento capacitor. Con i dati di questo 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 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 al suo posto.
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.
Puoi utilizzare il comando del CLI per zip il tuo bundle:
npx @capgo/cli bundle zip --path [/path/to/my/bundle]Genera checksum del bundle
Sezione intitolata “Genera checksum del bundle”Attenzione: Devi utilizzare i 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 utilità zip standard possono creare archivi incompatibili.
Per generare il checksum per il tuo bundle, utilizza il comando zip Capgo CLI con la --json flag:
npx @capgo/cli bundle zip [appId] --jsonQuesto comando eseguirà:
- Crea un file zip formattato correttamente compatibile con il plugin Capgo
- Genera il checksum SHA256 per la verifica dell'integrità
- Esegui l'output delle informazioni sul bundle in formato JSON
Esempio di output:
{ "version": "1.2.3", "checksum": "a1b2c3d4e5f6789...", "size": 1234567}Usa il checksum assicurarsi che il valore di questo output sia presente nella tua API risposta per consentire al plugin di verificare l'integrità del pacchetto prima dell'installazione.