Saltare al contenuto

Aggiorna automaticamente

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

If you’re unfamiliar with serving a bundle, we recommend you try Capgo Cloud or see an example here:

Servizio di un Bundle

Configurazione

Sezione intitolata “Configurazione” updateUrl Aggiungi un capacitor.config.json.

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

Il plugin eseguirà 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. 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 invece.

version La chiave dovrebbe essere in semver format.

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

Potete utilizzare il comando del CLI per zipare il vostro bundle:

Creare un bundle con i vostri file da servire dal vostro server
npx @capgo/cli bundle zip --path [/path/to/my/bundle]

Importante: È necessario utilizzare il Capgo CLI per creare il file zip del vostro 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 per il vostro bundle, utilizzare il comando Capgo CLI zip con il --json bandiera:

Creare un bundle con informazioni sul checksum
npx @capgo/cli bundle zip [appId] --json

Questo comando farà:

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

Esempio di output:

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

Usare il checksum valore di questo output nel tuo API per assicurarti che il plugin possa verificare l'integrità del bundle prima dell'installazione.

Se stai utilizzando L'aggiornamento automatico per pianificare la migrazione e le operazioni aziendali, connettilo con Utilizza @capgo/capacitor-aggiornatore per la capacità nativa in Utilizza @capgo/capacitor-aggiornatore, Capgo Azienda per il flusso di lavoro del prodotto in Capgo Azienda, Alternativa plugin aziendale di Ionic per il flusso di lavoro del prodotto in Alternativa plugin aziendale di Ionic, Capgo Alternativa per il flusso di lavoro del prodotto in Capgo Alternativa, Capgo Consulting per il workflow del prodotto in Capgo Consulting.