Saltare al contenuto

Problemi di Aggiornamento Comuni

GitHub

Quando un controllo di aggiornamento fallisce, Capgo restituisce di solito un error code e un message In fase di /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 il problema per visualizzare i dettagli della richiesta/risposta.

Causa

L'applicazione ha I richieste di infrastruttura del provider sono 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 utente normale.
  • Non utilizzare i probe ospitati in cloud o i runner dei datacenter del provider per le verifiche dell'aggiornamento, delle statistiche o di channel-self mentre questa protezione è abilitata. Se il 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 della impostazione hanno questa disabilitata fino a quando non l'abiliti.

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 con lo stesso errore __CAPGO_KEEP_0__. Trattalo 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

Motivo

Il tuo canale blocca gli aggiornamenti principali (disable_auto_update = major) e la versione principale 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.0, quindi gli aggiornamenti principali vengono rifiutati.

Cosa significa

Come interpretarlo old Il backend confronta le versioni principali utilizzando la versione di base del dispositivo version.

  • e 1.0.1Se è così, la versione di base principale 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 poi 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 quella strategia di distribuzione è intenzionale.

Documentazione correlata:

Causa

La politica del canale è più restrittiva (minor o patchpiù del pacchetto di aggiornamento offerto.

  • minor blocca quando il pacchetto di destinazione ha un numero maggiore o minore della versione nativa di sistema del dispositivo (version_buildesempio: 1.2.3 -> 1.3.0 è bloccato.
  • patch blocca qualsiasi cambiamento di numero maggiore, minore o di 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:

  • correzione:
  • change channel policy in dashboard/CLI.

modifica 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

  • Carica una versione del pacchetto maggiore o uguale alla linea di base nativa, o
  • disabilita la protezione dalla discesa ‘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'app nativa.

Documenti correlati:

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.

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 pacchetto e la chiave del dispositivo sono diverse.

Soluzione

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

Causa

Non è stato risolto alcun canale valido per il dispositivo.

Soluzione

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

Documenti correlati:

on_premise_app

context

Capgo 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

  1. App ID does not exist in Capgo . Ciò accade in tre situazioni: app_id L'ID dell'app non esiste in __CAPGO_KEEP_0__
  2. — il — the app exists but is configured for self-hosted updates, so the Capgo cloud endpoint refuses to serve it.
  3. Problemi comuni — l'appartenenza dell'app non è più associata a un abbonamento attivo.

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.

La 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 dell'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 che la politica del canale (disable_auto_update) corrisponde alla distribuzione prevista.
  4. Conferma che i pulsanti di controllo della piattaforma/ build consentono a questo dispositivo.
  5. Esegui npx @capgo/cli@latest app debug e leggi gli errori del backend code.

Hai bisogno di più aiuto?

Se hai bisogno di ulteriore aiuto?

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 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.