Problemi di Aggiornamento Comuni
Copiare una riga di impostazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Quando un controllo di aggiornamento fallisce, Capgo solitamente restituisce un error code e un message Inizialmente /updates risposta. Questa pagina spiega le più comuni fallite e le soluzioni più veloci.
Leggi questo prima
Sottosezione intitolata “Leggi questo prima”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’espressione esplicita
errorcode. - Usa
npx @capgo/cli@latest app debugmentre si riproduce il problema per visualizzare i dettagli della richiesta/risposta.
Codici di fallita comuni
Sottosezione intitolata “Codici di fallita comuni”provider_infrastructure_request_blocked
Sottosezione intitolata “provider_infrastructure_request_blocked”Causa
L'applicazione ha Blocca le richieste di infrastruttura del provider 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 dal essere trattato come traffico del dispositivo.
- Risoluzione
- Riproduci l'aggiornamento da un dispositivo fisico su una rete di utente normale.
- Non utilizzare probe 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. Riabilitare quando il test è completo.
Le nuove app hanno questa protezione abilitata per impostazione predefinita. Le app create prima dell'introduzione della impostazione hanno questa disabilitata fino a quando non l'abilitate.
Dettagli della risposta
/updatespreserva il contratto di risposta dell'aggiornatore e restituisce HTTP200. Il suo corpo includeerror,message,kind: "blocked", eprovider("google"o"apple")./statse/channel_selfritorna HTTP429with the same error code. Treat this as an intentional policy block, not a transient retry condition.
disable_auto_update_to_major
, eCausa
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 essere1(ad esempio)1.0.0). - Se il target è
10.0.1, il baseline major deve essere10(ad esempio)10.0.0).
Opzione A di risoluzione (consigliata): allinea il baseline major del dispositivo
Imposta plugins.CapacitorUpdater.version in modo che il suo capacitor.config.* MAJOR corrisponda al MAJOR del pacchetto che desideri distribuire (ad esempio) per 1.0.0 per 1.0.1, 10.0.0 per 10.0.1).
Applica poi questa configurazione all'applicazione installata una volta:
- Esegui
npx cap sync. - Riavvia e reinstalla l'applicazione nativa.
Opzione B: rilassa la politica del canale
Consenti gli aggiornamenti automatici inter-versione nel menu Impostazioni del canale (solo se questa strategia di distribuzione è intenzionale).
Documentazione correlata:
- Target di versione: Disabilita l'aggiornamento automatico tra versioni maggiori
- Canali: Disabilita le strategie di aggiornamento automatico
disable_auto_update_to_minor / disable_auto_update_to_patch
Sezione intitolata “disabilita_aggiornamento_auto_a_minore / disabilita_aggiornamento_auto_a_patch”Causa
La politica del canale è più restrittiva (minor o patchdi più dell'aggiornamento offerto.
minorblocca quando il bundle di destinazione ha un numero maggiore o minore rispetto alla versione nativa di sistema del dispositivo (version_buildEsempio:1.2.3 -> 1.3.0è bloccato.patchblocca qualsiasi cambiamento di numero maggiore, minore o patch daversion_buildSono consentiti solo cambiamenti di suffisso mentreMAJOR.MINOR.PATCHrimane identico, ad esempio1.0.0-beta.1 -> 1.0.0-beta.2o1.0.0+build.1 -> 1.0.0+build.2.
Seleziona una soluzione alternativa.
- Risolvi
- change channel policy in dashboard/CLI.
Cambia la politica del canale nel dashboard/__CAPGO_KEEP_0__.
disable_auto_update_to_metadata
Sezione intitolata “disable_auto_update_to_metadata”Causa
Il canale utilizza la targeting basata sui metadati (version_number) e il livello di dispositivo è inferiore a quello richiesto min_update_version.
Soluzione
- Allinea il livello di dispositivo (
CapacitorUpdater.version) con la versione dell'app nativa installata, o - adatta
min_update_version) la strategia del canale.
Documenti correlati:
disable_auto_update_under_native
Sezione intitolata “disabilita_aggiornamento_auto_under_native”Causa
Il canale impedisce le retrogradazioni sotto la linea di base nativa.
Soluzione
- Carica una versione del pacchetto maggiore o uguale alla linea di base nativa, o
- disabilita la protezione dalla retrogradazione "under native" per quel canale.
Documenti correlati:
cannot_update_via_private_channel
Sezione intitolata “impossibile_aggiornamento_via_canale_privato”Causa
Il canale selezionato/predefinito non consente l'assegnazione automatica del dispositivo.
Soluzione
- Usa un canale diverso con l'assegnazione auto abilitata, o
- rendi il canale pubblico / abilita l'assegnazione auto.
Documenti correlati:
unknown_version_build / semver_error
Sezione intitolata “unknown_version_build / semver_error”Causa
La versione di base del dispositivo è mancante (unknowno non valido semver.
Risoluzione
- Imposta
plugins.CapacitorUpdater.versiona semver valido come1.2.3. - Sincronizza e ricostruisci l'app nativa.
Documenti correlati:
unsupported_plugin_version
Sottosezione intitolata “versione_plugin_non_supportata”Causa
La versione del plugin di aggiornamento è troppo vecchia per le richieste attuali del backend.
Soluzione
- Aggiorna
@capgo/capacitor-updater. - Esegui
npx cap sync. - Riavvia e reinstalla l'app nativa.
disabled_platform_ios / disabled_platform_android
Sezione intitolata “disabled_platform_ios / disabled_platform_android”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 obiettivo di test.
allow_prod,allow_dev,allow_device,allow_emulatorRiavvia e reinstalla l'app nativa.
key_id_mismatch
Sezione intitolata “key_id_mismatch”Causa
La chiave di crittografia del bundle e la chiave del dispositivo sono diverse.
Soluzione
- Usa la stessa chiave di crittografia/chiave pubblica in entrambi i flussi di configurazione dell'app e crittografia del bundle.
no_channel / null_channel_data
Sezione intitolata “no_channel / null_channel_data”Causa
Non è stato risolto alcun canale valido per il dispositivo.
Soluzione
- Imposta un canale cloud di default, o
- imposta
defaultChannelin costruzioni di test, o - impostare il canale di override per dispositivo.
Documenti correlati:
on_premise_app
contextCapgo release channels feature name. Page/area: Capgo solutions marketing page. Role: Short UI label or navigation item. Seen in: page solutions/white-label.astro. Message key `solutions_white_label_visual_cell2_value` (Solutions White Label Visual Cell2 Value).
Sottosezione intitolata “on_premise_app” on_premise_appCausa
- App ID does not exist in Capgo . Ciò accade in tre situazioni:
app_idL'ID dell'app non esiste in __CAPGO_KEEP_0__ - — il — the app exists but is configured for self-hosted updates, so the Capgo cloud endpoint refuses to serve it.
- 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_idmatches exactly what is shown in the Capgo dashboard (case-sensitive). - corrisponda esattamente a quanto mostrato nel dashboard __CAPGO_KEEP_0__ (con sensibilità alle maiuscole).
npx @capgo/cli@latest app add. - Se l'app non è ancora registrata, esegui
plugins.CapacitorUpdater.updateUrlto your self-hosted update endpoint instead of the Capgo cloud URL. - Se il piano dell'organizzazione è scaduto, rinnova o aggiorna il piano.
Elenco di controllo rapido diagnostico
Sezione intitolata “Elenco di controllo rapido diagnostico”- Conferma che l'ID dell'app e il canale sono corretti per la build.
- Conferma
CapacitorUpdater.versioncorrisponde alla versione dell'applicazione nativa installata. - Conferma che la politica del canale (
disable_auto_update) corrisponde alla distribuzione prevista. - Conferma che i pulsanti di selezione della piattaforma/ build consentono a questo dispositivo.
- Esegui
npx @capgo/cli@latest app debuge leggi gli errori del backend code.
Hai bisogno di più aiuto?
Se hai bisogno di ulteriore aiuto?Continua da Problemi Aggiornamenti Comuni
Sezione intitolata “Continua da Problemi Aggiornamenti Comuni”Se stai utilizzando Problemi Aggiornamenti 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 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 Alternative per Plugin Enterprise di Ionic per il flusso di lavoro del prodotto in Alternative per Plugin Enterprise di Ionic.