Passer à la navigation principale

Problèmes d'actualisation courants

GitHub

Lorsqu'une vérification de mise à jour échoue, Capgo renvoie généralement un error code et un message dans le /updates la réponse. Cette page décrit 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 ou de configuration plutôt que des retards de cache, surtout lorsque la réponse inclut un error code.
  • le npx @capgo/cli@latest app debug codes d'échec courants

Titre de la section « codes d'échec courants »

Titre de la section « provider_infrastructure_request_blocked »

Cause

L'application a Empêche les requêtes d'infrastructure du fournisseur enabled and the request originated from a known Google or Apple datacenter IP range. Capgo blocks these requests on /updates, /stats__CAPGO_KEEP_0__ bloque ces requêtes sur /channel_self , et

pour empêcher le trafic provenant du fournisseur d'être traité comme du trafic de l'appareil.

  • Fix
  • Réproduisez l'actualisation à partir d'un appareil physique sur un réseau utilisateur normal.
  • N'utilisez pas de sondes hébergées par le cloud ou de lanceurs de centre de données du fournisseur pour les mises à jour, les statistiques ou les vérifications de canal-self pendant que cette protection est activée. Si ce trafic est intentionnel, ouvrez la Informations Infrastructure des fournisseurs de blocs demande. Réactivez-le lorsque le test est terminé.

Les nouvelles applications ont cette protection activée par défaut. Les applications créées avant que le paramètre ne soit introduit gardent cela désactivé jusqu'à ce que vous l'activiez.

Détails de la réponse

  • /updates préservent le contrat de réponse de l'actualiseur et renvoient HTTP 200. Son corps comprend error, message, kind: "blocked", et provider ("google" ou "apple").
  • /stats context : Fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `alternatives_cta_questions`). Page/zone : Page de comparaison des alternatives de mise à jour en direct de Capacitor. Rôle : Paragraphe de marketing ou juridique long. Voir dans : page alternatives.astro. Conservez les termes de produit et de marque Capgo ainsi que les termes de développeur exactement. Clé de message `alternatives_cta_questions` (Questions de CTA des alternatives). | Fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `appflow_cta_questions`). Page/zone : Comparaison/migration de marketing de Appflow. Rôle : Paragraphe de marketing ou juridique long. Voir dans : page ionic-appflow.astro. Conservez les termes de produit et de marque Capgo ainsi que les termes de développeur exactement. Clé de message `appflow_cta_questions` (Questions de CTA d'Appflow). | Fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `capwesome_cta_questions`). Page/zone : Page de comparaison de Capawesome. Rôle : Paragraphe de marketing ou juridique long. Voir dans : page capwesome.astro. Conservez les termes de produit et de marque Capgo ainsi que les termes de développeur exactement. Clé de message `capwesome_cta_questions` (Questions de CTA de Capwesome). | Fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `consulting_faq_subtitle`). Page/zone : Page de services de consultation. Rôle : Sous-titre ou tagline de section. Voir dans : page consulting.astro. Conservez les termes de produit et de marque Capgo ainsi que les termes de développeur exactement. Clé de message `consulting_faq_subtitle` (Sous-titre FAQ de consultation). | Page/zone : Comparaison/migration de marketing de Appflow. Rôle : Étiquette de navigation ou élément de navigation court. Voir dans : page ionic-appflow.astro, page ionic-enterprise-plugins.astro, page solutions/ionic-enterprise-plugins.astro. Clé de message `appflow_plugins_or` (Appflow Plugins ou). /channel_self et 429 with the same error code. Treat this as an intentional policy block, not a transient retry condition.

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 la version de base 0.0.0, donc les mises à jour majeures sont rejetées.

Comment l'interpréter

Le backend compare les versions majeures en utilisant la version de base du dispositif old et le cible version.

  • Si c'est le cas 1.0.1la version majeure de la base doit être 1 (par exemple) 1.0.0).
  • Si la cible est 10.0.1, la version majeure de base doit être 10 (par exemple) 10.0.0).

Option de correction A (recommandée) : aligner la version majeure du dispositif sur la version majeure de base

Définir plugins.CapacitorUpdater.version en capacitor.config.* de sorte que sa MAJOR correspond à la version MAJOR du paquet que vous souhaitez délivrer (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écutez npx cap sync.
  2. Rebâtissez et réinstallez l'application native.

Option de correction B : assouplir la politique de canal

Autorisez les mises à jour automatiques transversales entre les canaux (seulement si cette stratégie de déploiement est intentionnelle).

Documents connexes :

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 patchest supérieur à l'actualisation proposée.

  • minor se bloque lorsque le bundle cible a une version majeure ou mineure différente de la version native de base du dispositif (version_buildExemple : 1.2.3 -> 1.3.0 est bloqué.
  • patch se bloque pour toute modification de numéro majeur, mineur ou de patch de version_buildSeuls les changements de suffixe sont autorisés tandis que MAJOR.MINOR.PATCH reste identique, comme 1.0.0-beta.1 -> 1.0.0-beta.2 ou 1.0.0+build.1 -> 1.0.0+build.2.

context : fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `alternatives_cta_questions`). Page/zone : page de comparaison des alternatives de mise à jour en direct de Capacitor. Rôle : paragraphe de marketing ou juridique long. Vu dans : page alternatives.astro. Conservez les termes de produit et de marque Capgo ainsi que les termes de développeur exactement. Clé de message `alternatives_cta_questions` (Questions de CTA pour les alternatives). | Fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `appflow_cta_questions`). Page/zone : page de comparaison/migration de Appflow. Rôle : paragraphe de marketing ou juridique long. Vu dans : page ionic-appflow.astro. Conservez les termes de produit et de marque Capgo ainsi que les termes de développeur exactement. Clé de message `appflow_cta_questions` (Questions de CTA pour Appflow). | Fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `capwesome_cta_questions`). Page/zone : page de comparaison de Capawesome. Rôle : paragraphe de marketing ou juridique long. Vu dans : page capwesome.astro. Conservez les termes de produit et de marque Capgo ainsi que les termes de développeur exactement. Clé de message `capwesome_cta_questions` (Questions de CTA pour Capwesome). | Fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `consulting_faq_subtitle`). Page/zone : page de services de consulting. Rôle : sous-titre ou tagline de section. Vu dans : page consulting.astro. Conservez les termes de produit et de marque Capgo ainsi que les termes de développeur exactement. Clé de message `consulting_faq_subtitle` (Sous-titre des questions fréquentes pour les services de consulting). | Page/zone : page de comparaison/migration d'Appflow. Rôle : étiquette de navigation ou élément de navigation court. Vu dans : page ionic-appflow.astro, page ionic-enterprise-plugins.astro, page solutions/ionic-enterprise-plugins.astro. Clé de message `appflow_plugins_or` (Appflow Plugins ou).

  • Fixer
  • change channel policy in dashboard/CLI.

changer la politique de canal dans le tableau de bord/__CAPGO_KEEP_0__.

Cause

Le canal utilise une ciblage basé sur les métadonnées (version_number) et la version de base du dispositif est inférieure à la version requise min_update_version.

Solution

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

Documents liés :

Cause

Le canal empêche les descentes en dessous du seuil de base natif.

Fix

  • Téléchargez une version de bundle supérieure ou égale au seuil de base natif, ou
  • désactivez la protection de descente sous le seuil natif pour ce canal.

Documents liés :

Cause

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

Fix

  • Utilisez un canal différent avec l'auto-assignement activé, ou
  • rendez le canal public / activez l'auto-assignement.

Documents connexes :

Cause

La version de référence du périphérique est manquante (unknown) ou non valide semver.

Résoudre

  • Définissez plugins.CapacitorUpdater.version à une version semver valide comme 1.2.3.
  • Synchronisez et reconstruirez l'application native.

Documents liés :

Cause

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

Résoudre

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

Cause

Le canal a désactivé les mises à jour pour ce plateau.

Fix

  • Activer l'option de plateau sur le canal.

disable_prod_build / disable_dev_build / disable_device / disable_emulator

Section intitulée “disable_prod_build / disable_dev_build / disable_device / disable_emulator”

Cause

Le canal interdit le type de build actuel ou le cible de runtime.

Fix

  • Alignez les options du 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éfinissez un canal par défaut dans le cloud, ou
  • dans les builds de test, ou defaultChannel set
  • assigner le canal de substitution pour appareil.

Documents liés :

on_premise_app

Documents liés :

Section intitulée « on_premise_app »

Cause on_premise_appLe serveur backend a renvoyé HTTP 429 avec

  1. App ID does not exist in Capgo L'ID de l'application n'existe pas dans __CAPGO_KEEP_0__ app_id — le
  2. envoyé par l'appareil n'est pas enregistré, donc le serveur n'a pas de dossier sur lui. — the app exists but is configured for self-hosted updates, so the Capgo cloud endpoint refuses to serve it.
  3. Le plan d'organisation est annulé — l'organisation de l'application n'a plus d'abonnement actif.

Erreur fréquente

Une faute d'orthographe dans plugins.CapacitorUpdater.appId (dans 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.

Le backend ne peut pas distinguer « application inconnue » de « application sur site », il retourne donc le même erreur __CAPGO_KEEP_1__.

  • Correction app_id matches exactly what is shown in the Capgo dashboard (case-sensitive).
  • correspond exactement à ce qui est affiché dans le tableau de bord __CAPGO_KEEP_0__ (sensibilité à la casse). npx @capgo/cli@latest app add.
  • Si l'application n'est pas encore enregistrée, exécutez plugins.CapacitorUpdater.updateUrl to your self-hosted update endpoint instead of the Capgo cloud URL.
  • Si le plan d'organisation a expiré, renouvelez ou mettez à jour le plan.
  1. Confirmez que l'ID de l'application et le canal sont corrects pour la build.
  2. Confirmez CapacitorUpdater.version correspond à la version de l'application native installée.
  3. Confirmez que la politique du canal («disable_auto_update»)
  4. correspond à la mise en œuvre prévue.
  5. Confirmez que les paramètres de plateforme/ build permettent cette mise à jour sur ce dispositif. npx @capgo/cli@latest app debug and read backend error code.

et lisez les erreurs de backend __CAPGO_KEEP_0__.

Section intitulée “Besoin d’aide supplémentaire ?”

Si vous utilisez Problèmes de mise à jour courants pour planifier le travail de plugin natif, connectez-l’avec En utilisant @capgo/capacitor-mises à jour pour la capacité native dans En utilisant @capgo/capacitor-mises à jour, Capgo Répertoire de plugin pour le flux de travail du produit dans Capgo Répertoire de plugin, Capacitor Plugins par Capgo pour le détail d'implémentation dans Capacitor Plugins par Capgo Ajouter ou Mettre à Jour des Plugins pour le détail d'implémentation dans Ajouter ou Mettre à Jour des Plugins, et Alternatives de Plugins Entreprise Ionic pour le flux de travail du produit dans Alternatives de Plugins Entreprise Ionic.