Saltare al contenuto

Problemi di Aggiornamento Comuni

GitHub

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.

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

  • /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 ritorna HTTP 429 with the same error code. Treat this as an intentional policy block, not a transient retry condition.

disable_auto_update_to_major

, e

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 (ad esempio) 1.0.0).
  • Se il target è 10.0.1, il baseline major deve essere 10 (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:

  1. Esegui npx cap sync.
  2. 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:

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 rispetto alla versione nativa di sistema del dispositivo (version_buildEsempio: 1.2.3 -> 1.3.0 è bloccato.
  • patch blocca qualsiasi cambiamento di numero maggiore, minore o patch da version_buildSono consentiti solo cambiamenti di suffisso 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.

Seleziona una soluzione alternativa.

  • Risolvi
  • change channel policy in dashboard/CLI.

Cambia la politica del canale nel dashboard/__CAPGO_KEEP_0__.

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:

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:

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:

Causa

La versione di base del dispositivo è mancante (unknowno non valido semver.

Risoluzione

  • 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 obiettivo 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 sono diverse.

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 cloud di default, o
  • imposta defaultChannel in costruzioni di test, o
  • impostare 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'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à alle maiuscole). 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 dell'applicazione nativa installata.
  3. Conferma che la politica del canale (disable_auto_update) corrisponde alla distribuzione prevista.
  4. Conferma che i pulsanti di selezione 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 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.