Saltare al contenuto

Problemi di Aggiornamento Comuni

GitHub

Quando un controllo di aggiornamento fallisce, Capgo solitamente restituisce un'Capgo e un error code e un message In questo contesto /updates risposta. Questa pagina spiega le più comuni fallite e le soluzioni più veloci.

  • no_new_version_available è uno stato normale, non una fallita.
  • Molti rapporti di "aggiornamento trovato ma non applicato" 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 l'errore per visualizzare i dettagli della richiesta/risposta.

Causa

L'applicazione ha I richieste di infrastruttura del provider sono bloccate enabled and the request originated from a known Google or Apple datacenter IP range. Capgo blocks these requests on /updates, /stats__CAPGO_KEEP_0__ blocca queste richieste su /channel_self , e

per prevenire il traffico originato dal provider da essere trattato come traffico del dispositivo.

  • Risoluzione
  • Riproduci l'aggiornamento da un dispositivo fisico su una rete utente normale.
  • Non utilizzare probed ospitati in cloud o esecutori di datacenter del provider per le verifiche di aggiornamento, statistiche o channel-self mentre questa protezione è abilitata. Se quel traffico è intenzionale, apri la scheda Informazioni Block provider infrastructure richieste. Riabiliscilo quando il test è completo.

Le nuove app hanno questa protezione abilitata per impostazione predefinita. Le app create prima dell'introduzione di questa impostazione hanno questa funzione disabilitata fino a quando non viene abilitata.

Dettagli della risposta

  • /updates preserva il contratto di risposta dell'aggiornatore e restituisce HTTP 200. Il suo corpo include error, message, kind: "blocked", e provider ("google" o "apple").
  • /stats e /channel_self risponde con lo stesso errore __CAPGO_KEEP_0__. Considera questo come una politica di blocco intenzionale, non come una condizione di riprova transitoria. 429 with the same error code. Treat this as an intentional policy block, not a transient retry condition.

disable_auto_update_to_major

o

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 significa che il dispositivo segnala la versione di base 0.0.0quindi gli aggiornamenti principali vengono rifiutati.

Come interpretarlo

Il backend confronta le versioni principali utilizzando la versione di base del dispositivo old e il target version.

  • Se il target è 1.0.1la versione maggiore di base deve essere 1 Esempio 1.0.0).
  • Se il target è 10.0.1, il baseline maggiore deve essere 10 Esempio 10.0.0).

Opzione A di risoluzione (consigliata): allinea il baseline maggiore del dispositivo

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

Applica quindi questa configurazione all'applicazione installata una volta:

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

Opzione di risoluzione B: rilassa la politica del canale

Consenti gli aggiornamenti automatici intercanale (solo se questa strategia di distribuzione è intenzionale).

Documentazione correlata:

Causa

La politica del canale è più restrittiva (minor o patchdi più dell'aggiornamento offerto.

  • minor blocca quando il bundle di destinazione ha un numero maggiore o minore del baseline nativo del dispositivo (version_buildesempio: 1.2.3 -> 1.3.0 è bloccato.
  • patch blocca qualsiasi cambiamento di numero maggiore, minore o patch da version_buildSolo i cambiamenti di suffisso sono consentiti mentre MAJOR.MINOR.PATCH rimane identico, come 1.0.0-beta.1 -> 1.0.0-beta.2 o 1.0.0+build.1 -> 1.0.0+build.2.

alternativa:

  • Risolvere
  • change channel policy in dashboard/CLI.

modificare la politica del canale nel dashboard/__CAPGO_KEEP_0__.

Causa

Il canale utilizza la targeting basata sui metadati (version_number) e la versione del dispositivo è inferiore a quella richiesta min_update_version.

Soluzione

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

Documenti correlati:

Causa

Il canale impedisce le discese sotto la linea di base nativa.

Soluzione

  • Incarica una versione del pacchetto maggiore o uguale alla linea di base nativa, o
  • disabilita la protezione dal downgrade per canali ‘under native’ per quel canale.

Documenti correlati:

Causa

Il canale selezionato/predefinito non consente l'assegnazione di dispositivo da parte del dispositivo.

Soluzione

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

Documenti correlati:

Causa

La versione di base del dispositivo è mancante (unknown) o non valida semver.

Soluzione

  • Imposta plugins.CapacitorUpdater.version a semver valido come 1.2.3.
  • Sincronizza e ricostruisci l'applicazione nativa.

Documenti correlati:

Causa

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

Soluzione

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

Causa

Il canale ha le aggiornamenti disabilitati per quella piattaforma.

Soluzione

  • Abilita il pulsante di opzione per la piattaforma sul canale.

disable_prod_build / disable_dev_build / disable_device / disable_emulator

Sezione intitolata “disable_prod_build / disable_dev_build / disable_device / disable_emulator”

Causa

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

Soluzione

  • Assicurati che le opzioni del canale siano allineate con il tuo target di test.allow_prod, allow_dev, allow_device, allow_emulatorRiavvia e reinstalla l'app nativa.

Causa

La chiave di crittografia del bundle e la chiave del dispositivo differiscono.

Soluzione

  • Usa la stessa chiave di crittografia/chiave pubblica in entrambi i flussi di configurazione dell'app e crittografia del bundle.

Causa

Non è stato risolto alcun canale valido per il dispositivo.

Soluzione

  • Imposta un canale di default in cloud, o
  • imposta defaultChannel in costruzioni di test, o
  • assegna canale di override per dispositivo.

Documenti correlati:

on_premise_app

Sezioni

Causa

Il backend ha restituito HTTP 429 con on_premise_appCiò 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 il cloud endpoint Capgo rifiuta di servirla.
  3. Problemi comuni — l'organizzazione dell'app non ha più una sottoscrizione attiva.

Errore comune

Un errore di ortografia in plugins.CapacitorUpdater.appId (in capacitor.config.ts) or a mismatch with the app ID registered in the Capgo dashboard. The backend cannot distinguish “unknown app” from “on-premise app”, so it returns the same error code.

Il backend non può distinguere tra 'app sconosciuta' e 'app on-premise', quindi restituisce lo stesso errore __CAPGO_KEEP_1__.

  • Risoluzione app_id matches exactly what is shown in the Capgo dashboard (case-sensitive).
  • corrisponda esattamente a quanto mostrato nel dashboard __CAPGO_KEEP_0__ (con sensibilità di caso). npx @capgo/cli@latest app add.
  • Se l'app non è ancora registrata, esegui plugins.CapacitorUpdater.updateUrl to your self-hosted update endpoint instead of the Capgo cloud URL.
  • 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 dell'app nativa installata.
  3. Conferma che la politica del canale (disable_auto_update) corrisponde alla distribuzione prevista.
  4. Conferma che i pulsanti di toggling della piattaforma/build consentono a questo dispositivo.
  5. Esegui npx @capgo/cli@latest app debug e leggi gli errori backend code.

Hai bisogno di più aiuto?

Se hai bisogno di ulteriore aiuto?

Continua da Problemi di Aggiornamento Comuni

Sottotitolo: Continua da Problemi di Aggiornamento Comuni

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