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 CORS giusti per consentire all'app di scaricare l'aggiornamento. e.g. 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-aggiornamento. 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 la chiave URL è presente, il plugin inizia 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 file 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 zipare il tuo bundle:

Crea un bundle con i tuoi file per servirli dal tuo server
npx @capgo/cli bundle zip --path [/path/to/my/bundle]

Importante: 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 utility zip standard possono creare archivi incompatibili.

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

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

Questo comando eseguirà:

  • Crea un file zip formato corretto 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
}

Usa 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 Usa @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 Enterprise di Ionic per il workflow del prodotto nelle alternative del Plugin Enterprise di Ionic 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.