Saltare alla navigazione

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. e.g. https://myserver.com/app/updates/updates.json

If non sei abituato a servire un bundle, ti consigliamo di provare Capgo Cloud o vedere un esempio qui:

Aggiungi un updateUrl a tuo capacitor.config.json.

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

La plugin eseguirà 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 formato JSON, al plugin di aggiornamento capacitor. Con i dati di risposta 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 zip dovrebbe avere index.html come file alla radice, o solo una cartella alla radice con index.html all'interno.

Puoi utilizzare il comando di CLI per creare un file zip del tuo bundle:

Crea 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 di archivio zip specifici che sono garantiti solo quando si utilizza lo strumento ufficiale CLI. Le utilità standard di zip possono creare archivi incompatibili.

Per generare il calcolo del sommario per il tuo bundle, utilizza il comando Capgo CLI zip con la --json flag:

Crea bundle con informazioni sul calcolo del sommario
npx @capgo/cli bundle zip [appId] --json

Questo comando eseguirà:

  • Creare un file zip compatibile con il plugin Capgo
  • Generare il checksum SHA256 per la verifica dell'integrità
  • Informazioni sul bundle in formato JSON

Esempio di output:

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

Usare il checksum valore di questo output nella tua risposta 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 Usando @capgo/capacitor-aggiornatore per la capacità nativa in Usando @capgo/capacitor-aggiornatore Capgo Enterprise per il workflow del prodotto in Capgo Enterprise Alternative per plugin di Ionic Enterprise per il workflow del prodotto in Alternative per plugin di Ionic Enterprise Capgo Alternative per il workflow del prodotto in Capgo Alternative Capgo Consulting per il workflow del prodotto in Capgo Consulting