Auto Aggiornamento
Questa documentazione spiegherà come eseguire il tuo server di aggiornamento automatico
Servire il bundle
Assicurati che il tuo bundle sia servito tramite HTTPS e che il server abbia gli header CORS corretti per consentire all’app di scaricare l’aggiornamento
es. https://myserver.com/app/updates/updates.json
Se non hai familiarità con il serving di un bundle, ti consigliamo di provare Capgo Cloud o vedere un esempio qui:
Configurazione
Aggiungi un updateUrl
al tuo capacitor.config.json
{ "plugins": { "CapacitorUpdater": { "updateUrl": "https://myserver.com/app/updates/updates.json", } }}
API di aggiornamento
Il plugin effettuerà una chiamata POST alla tua API ogni volta che l’app viene aperta, con questo corpo:
interface AppInfos { "platform": "ios" | "android", "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_SYSYEM_OS", "is_emulator": boolean, "is_prod": boolean,}
L’API del server dovrebbe rispondere, in JSON, al plugin capacitor-updater con questi dati se è necessario un aggiornamento:
{"version": "123","url": "https://myserver.com/app/updates/my-new-app-200.zip"}
In modalità Auto-update il server dovrebbe confrontare le versioni e restituire quella corretta, se la chiave URL è presente, il plugin avvia il processo di download
Se aggiungi le chiavi “message” ed “error”, la versione non verrà impostata e il messaggio verrà invece visualizzato nei log
La chiave version
dovrebbe essere nel formato semver
Lo zip dovrebbe avere index.html
come file nella root, o una sola cartella nella root con index.html
all’interno
Puoi utilizzare il comando della CLI per comprimere il tuo bundle:
npx @capgo/cli bundle zip --path [/path/to/my/bundle]