Saltare al contenuto

Auto Update

GitHub

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

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

Se sei sconosciuto con il servizio di un pacchetto, 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 effettuerà 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,
}

Il server API dovrebbe rispondere, in formato JSON, al plugin di aggiornamento capacitor-updater. Con i dati seguenti 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 Il formato.

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

Puoi utilizzare il comando del CLI per zip 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: You must use the Capgo CLI to create your bundle zip file. The Capgo plugin requires a specific zip format and structure that is only guaranteed when using the official CLI tool. Standard zip utilities may create incompatible archives.

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

Crea bundle con informazioni di checksum
npx @capgo/cli bundle zip [appId] --json

Questo comando eseguirà:

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

Esempio di output:

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

Utilizza 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 Utilizza @capgo/capacitor-aggiornatore per la capacità nativa in Utilizzo di @capgo/capacitor-aggiornatore, Capgo Enterprise per il flusso di lavoro del prodotto in Capgo Enterprise, Alternative plugin Ionic Enterprise per il flusso di lavoro del prodotto in Alternative plugin Ionic Enterprise, Capgo Alternative per il flusso di lavoro del prodotto in Capgo Alternative, e Capgo consulenza per il flusso di lavoro del prodotto in Capgo Consulting.