Aller directement au contenu

Problèmes d'actualisation courants

Lorsqu'une vérification de mise à jour échoue, Capgo retourne généralement un error code et un message dans le /updates réponse. Cette page explique les échecs les plus courants et les corrections les plus rapides.

  • no_new_version_available est un état normal, pas un échec.
  • Beaucoup de rapports « mise à jour trouvée mais non appliquée » sont des refus de politique/configurations plutôt que des retards de cache, surtout lorsque la réponse inclut un error code.
  • Utilisez npx @capgo/cli@latest app debug pour voir les détails de la requête/réponse tout en reproduisant le problème.

Cause

Votre canal bloque les mises à jour majeures (disable_auto_update = major) et la version majeure du paquet cible est supérieure à la version de base du dispositif.

Symptôme typique

version: 1.0.8 avec old: 0.0.0 signifie que le dispositif signale une version de base 0.0.0, donc les mises à jour majeures sont rejetées.

Comment l'interpréter

Le serveur backend compare les versions majeures en utilisant le point de référence de l'appareil old et cible version.

  • Si la cible est 1.0.1, la version majeure du point de référence doit être 1 (par exemple 1.0.0).
  • Si la cible est 10.0.1, la version majeure du point de référence doit être 10 (par exemple 10.0.0).

Option de correction A (recommandée) : aligner la version majeure du point de référence de l'appareil

Définir plugins.CapacitorUpdater.version dans capacitor.config.* afin que cela MAJOR correspond à la version MAJOR que vous souhaitez déployer (par exemple 1.0.0 pour 1.0.1, 10.0.0 pour 10.0.1).

Appliquez ensuite cette configuration à l'application installée une fois :

  1. Exécuter npx cap sync.
  2. Rebâtir et réinstaller l'application native.

Option de correction B : assouplir la politique de canal

Autoriser les mises à jour automatiques inter-majeures dans les paramètres de canal (seulement si cette stratégie de déploiement est intentionnelle).

Documents liés :

disable_auto_update_to_minor / disable_auto_update_to_patch

Section intitulée « disable_auto_update_to_minor / disable_auto_update_to_patch »

Cause

La politique de canal est plus stricte (minor ou patch) que l'update proposé.

Fix

  • Télécharger un bundle compatible avec la politique actuelle, ou
  • modifier la politique de canal dans le tableau de bord/CLI.

Documents liés :

Cause

Le canal utilise une ciblage basé sur les métadonnées (version_number) et le niveau de base du dispositif est inférieur à celui requis min_update_version.

Réparer

  • Aligner le niveau de base du dispositif (CapacitorUpdater.version) avec la version native de l'application installée, ou
  • ajuster min_update_version / stratégie de canal.

Documents liés :

Cause

Le canal empêche les régressions en dessous du niveau de base natif.

Réparation

  • Télécharger une version de bundle supérieure ou égale à la base native, ou
  • désactiver la protection de downgrade « sous native » pour ce canal.

Documents liés :

Cause

Le canal sélectionné/par défaut n'autorise pas l'attribution automatique de l'appareil.

Réparation

  • Utiliser un canal différent avec l'attribution automatique activée, ou
  • rendre le canal public / activer l'attribution automatique.

Documents liés :

Cause

La version de base du dispositif manque (unknown) ou n'est pas une version valide semver.

Correction

  • Définir plugins.CapacitorUpdater.version à une version valide semver comme 1.2.3.
  • Synchroniser et reconstruire l'application native.

Documents liés :

Cause

La version du plugin de mise à jour est trop ancienne pour les exigences actuelles du serveur.

Fix

  • Mettre à jour @capgo/capacitor-updater.
  • Exécuter npx cap sync.
  • Rebuilder et réinstaller l'application native.

Cause

Le canal a désactivé les mises à jour pour cette plateforme.

Fix

  • Activer l'interrupteur de plateforme sur le canal.

Cause

Le canal interdit le type de construction actuel ou l'objectif de runtime.

Fix

  • Alignez les options de canal (allow_prod, allow_dev, allow_device, allow_emulator) avec votre cible de test.

Cause

La clé de chiffrement du bundle et la clé du dispositif diffèrent.

Fix

  • Utilisez la même clé de chiffrement/clé publique dans la configuration de l'application et le flux de chiffrement du bundle.

Cause

Aucun canal valide n'a été résolu pour le dispositif.

Fix

  • Définir un canal par défaut dans le cloud, ou
  • dans les builds de test, ou defaultChannel attribuer une surcharge de canal pour le dispositif.
  • Documents liés :

Canaux

on_premise_app

Cause

Le serveur backend a retourné HTTP 429 avec

__CAPGO_KEEP_0__ on_premise_app. Cela se produit dans trois situations :

  1. L'ID de l'application n'existe pas dans Capgo — le app_id l'envoi par le dispositif n'est pas enregistré, donc le serveur n'a pas de dossier sur cela.
  2. L'application est étiquetée comme sur site — l'application existe mais est configurée pour les mises à jour auto-hébergées, donc l'endpoint cloud de Capgo refuse de le servir.
  3. Le plan de l'organisation est annulé — l'application de l'organisation n'a plus d'abonnement actif.

Erreur commune

Une faute d'orthographe dans plugins.CapacitorUpdater.appId (en capacitor.config.ts) ou un désaccord avec l'ID de l'application enregistré dans le tableau de bord de Capgo. Le serveur ne peut pas distinguer « application inconnue » de « application sur site », donc il retourne le même erreur code.

Réparez

  • Vérifiez que cela correspond exactement à ce qui est affiché dans le tableau de bord __CAPGO_KEEP_0__ (sensibilité à la casse). app_id matches exactly what is shown in the Capgo dashboard (case-sensitive).
  • Si l'application est délibérément hébergée sur site, définissez npx @capgo/cli@latest app add.
  • au lieu de l'URL Cloud __CAPGO_KEEP_0__. plugins.CapacitorUpdater.updateUrl to your self-hosted update endpoint instead of the Capgo cloud URL.
  • Liste de vérification rapide

Section intitulée “Liste de vérification rapide”

Confirmez que l'ID de l'application et le canal sont corrects pour la build.
  1. Confirmez
  2. correspond à la version de l'application native installée. CapacitorUpdater.version Réparez
  3. Confirmer la politique de canal (disable_auto_update) correspond à la mise en œuvre prévue.
  4. Confirmer les paramètres de cible de plateforme/édition permettent à cet appareil.
  5. Exécuter npx @capgo/cli@latest app debug et lire les erreurs de backend code.