Saltare al contenuto

Problemi di Aggiornamento Comuni

GitHub

Quando un controllo di aggiornamento fallisce, Capgo restituisce di solito un error code e un message nel /updates risposta. Questa pagina spiega le più comuni fallite e le soluzioni più veloci.

  • no_new_version_available è uno stato normale, non un fallimento.
  • Molti rapporti di "aggiornamenti trovati ma non applicati" sono rifiuti di politica/configurazione piuttosto che ritardi di cache, soprattutto quando la risposta include un esplicito error code.
  • Usa npx @capgo/cli@latest app debug mentre si riproduce il problema per visualizzare i dettagli della richiesta/risposta.

Causa

Il tuo canale blocca gli aggiornamenti principali (disable_auto_update = major) e la versione maggiore del pacchetto di destinazione è superiore alla versione di base del dispositivo.

Sintomo tipico

version: 1.0.8 con old: 0.0.0 si intende il dispositivo che riferisce il valore di base 0.0.0Come interpretarlo

Il backend confronta le versioni maggiori utilizzando il valore di base del dispositivo

e il target old Se il target è version.

  • , il valore di base maggiore deve essere 1.0.1(ad esempio 1 Se il target è 1.0.0).
  • , il valore di base maggiore deve essere 10.0.1(ad esempio 10 __CAPGO_KEEP_0__ 10.0.0).

Correggi l'opzione A (consigliata): allinea la linea di base del dispositivo principale

Imposta plugins.CapacitorUpdater.version in capacitor.config.* così che MAJOR corrisponda alla versione MAJOR del pacchetto che desideri distribuire (ad esempio 1.0.0 per 1.0.1, 10.0.0 per 10.0.1).

Quindi applica questa configurazione all'applicazione installata una volta:

  1. Esegui npx cap sync.
  2. Riavvia e reinstalla l'app nativa.

Correggi l'opzione B: rilassa la politica del canale

Consenti gli aggiornamenti automatici inter-versione nei impostazioni dei canali (solo se questa strategia di rilascio è intenzionale).

Documenti correlati:

Causa

La politica del canale è più restrittiva (minor o patch) rispetto all'aggiornamento offerto.

  • minor I blocchi quando il pacchetto di destinazione ha un numero maggiore o minore della versione nativa del dispositivo (version_build). Esempio: 1.2.3 -> 1.3.0 è bloccato.
  • patch blocca qualsiasi cambiamento di versione maggiore, minore o di patch da version_buildSolo i cambiamenti di suffisso sono consentiti mentre MAJOR.MINOR.PATCH rimane identico, ad esempio 1.0.0-beta.1 -> 1.0.0-beta.2 o 1.0.0+build.1 -> 1.0.0+build.2.

Carica un bundle compatibile con la politica corrente, o

  • modifica la politica del canale nel dashboard/__CAPGO_KEEP_0__.
  • change channel policy in dashboard/CLI.

Canali: Disabilita strategie di aggiornamento automatico

disable_auto_update_to_metadata

Causa

Il canale utilizza la targeting basato sul metadata (

Canale utilizza la targeting basato sul metadata (version_numbere il dispositivo di riferimento è sotto la soglia richiesta min_update_version.

Correggi

  • Allinea dispositivo di riferimento (CapacitorUpdater.version) con la versione dell'applicazione nativa installata, o
  • adatta min_update_version / strategia del canale.

Documentazione correlata:

Causa

Il canale impedisce le riduzioni di versione sotto la soglia di riferimento nativa.

Correggi

  • Carica una versione del pacchetto maggiore o uguale alla baseline nativa, o
  • disabilita la protezione del downgrade "sotto nativo" per quel canale.

Documenti correlati:

Causa

Il canale selezionato/predefinito non consente l'assegnazione automatica del dispositivo.

Risoluzione

  • Usa un canale diverso con l'assegnazione automatica abilitata, o
  • rendi il canale pubblico / abilita l'assegnazione automatica.

Documenti correlati:

Causa

La versione di base del dispositivo manca (unknown) o non è una versione semver valida Risoluzione.

Imposta

Documentazione correlata:

Causa

La versione del plugin aggiornatore è troppo vecchia per le richieste attuali del backend.

Risoluzione

  • Aggiorna @capgo/capacitor-updater.
  • Esegui npx cap sync.
  • Riavvia e reinstalla l'app nativa.

Causa

Il canale ha le aggiornamenti disabilitati per quella piattaforma.

Risolvi

  • Abilita l'interruttore della piattaforma sul canale.

Causa

Il canale non consente il tipo di build corrente o il target di runtime.

Risolvi

  • Allinea le opzioni del canale (allow_prod, allow_dev, allow_device, allow_emulator) con il tuo target di test.

Causa

Il chiave di crittografia del pacchetto e la chiave del dispositivo differiscono.

Risolvi

  • Usa la stessa chiave di cifratura/chiave pubblica all'interno della configurazione dell'app e del flusso di lavoro di cifratura del pacchetto.

Causa

Non è stato risolto alcun canale valido per il dispositivo.

Risoluzione

  • Imposta un canale di rete predefinito, o
  • imposta defaultChannel in costruzioni di test, o
  • assegna un sovraccarico di canale per dispositivo.

Documenti correlati:

Causa

Il backend ha restituito HTTP 429 con on_premise_app Ciò accade in tre situazioni:

  1. L'ID dell'app non esiste in Capgo — il app_id inviato dal dispositivo non è registrato, quindi il backend non ne ha alcun record.
  2. L'app è segnalata come on-premise — l'app esiste ma è configurata per aggiornamenti self-hosted, quindi l'endpoint cloud di Capgo rifiuta di servirla.
  3. Il piano di organizzazione è stato annullato — l'app dell'organizzazione non ha più una sottoscrizione attiva.

Errore comune

Un errore di ortografia in plugins.CapacitorUpdater.appId (in capacitor.config.ts) o una disallineazione con l'ID dell'app registrato nel Capgo dashboard. Il backend non può distinguere “app sconosciuta” da “app on-premise”, quindi restituisce lo stesso errore code.

Risolvi

  • Verifica il app_id corrisponde esattamente a quanto mostrato nel Capgo dashboard (senza distinzione tra maiuscole e minuscole).
  • Se l'app non è ancora registrata, esegui npx @capgo/cli@latest app add.
  • Se l'app è intenzionalmente on-premise, impostare plugins.CapacitorUpdater.updateUrl a tuo endpoint di aggiornamento auto-hosted al posto dell'URL cloud Capgo.
  • Se il piano di organizzazione è scaduto, rinnova o aggiorna il piano.
  1. Conferma che l'ID dell'app e il canale sono corretti per la build.
  2. Conferma CapacitorUpdater.version corrisponde alla versione nativa dell'app installata.
  3. Conferma la politica del canale (disable_auto_update) corrisponde alla versione di rilascio prevista.
  4. Conferma che le impostazioni di piattaforma/costruzione consentono questo dispositivo.
  5. Esegui npx @capgo/cli@latest app debug e leggi gli errori del backend code.

Se stai utilizzando Problemi di Aggiornamento Comuni per pianificare il lavoro di plugin nativo, connettilo con Utilizzando @capgo/capacitor-aggiornatore per la capacità nativa in Utilizzando @capgo/capacitor-aggiornatore, Capgo Directory dei Plugin per il flusso di lavoro del prodotto in Capgo Directory dei Plugin, Capacitor Plugin da Capgo per la dettaglio di implementazione in Capacitor Plugin da Capgo, Aggiungere o Aggiornare i Plugin per il dettaglio di implementazione in Aggiungere o Aggiornare i Plugin, e Alternative plugin per Ionic Enterprise per il workflow del prodotto in Alternative plugin per Ionic Enterprise.