Problèmes d'actualisation courants
Copiez une invite de commande de configuration avec les étapes d'installation et la guide markdown complète pour ce plugin.
Lorsqu'une vérification de mise à jour échoue, Capgo renvoie généralement un error code and a message dans le /updates la réponse. Cette page décrit les échecs les plus courants et les corrections les plus rapides.
Lisez ceci en premier
Titre de la section « Lisez ceci en premier »no_new_version_availableest un état normal, pas un échec.- Beaucoup de rapports « mise à jour trouvée mais non appliquée » sont des refus de politique/ de configuration plutôt que des retards de cache, surtout lorsque la réponse inclut un
errorcode. - tandis que vous reproduisez le problème pour voir les détails de la requête/réponse.
npx @capgo/cli@latest app debugCodes d'échec courants
Titre de la section « Codes d'échec courants »
Titre de la section « provider_infrastructure_request_blocked »provider_infrastructure_request_blocked
__CAPGO_KEEP_0__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 trafic de périphérique.
- Fix
- Réproduisez l'actualisation à partir d'un appareil physique sur un réseau utilisateur normal.
- N'utilisez pas les sondes hébergées par le cloud ou les exécutants de centre de données du fournisseur pour les vérifications de l'actualiseur, des statistiques ou de la chaîne 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 réponse
/updatespréservant le contrat de réponse de l'actualiseur et renvoyant HTTP200. Son corps incluterror,message,kind: "blocked", etprovider("google"ou"apple")./statscontext : 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 marketing ou juridique long. Voir : page alternatives.astro. Conservez les termes de produit/branche et les termes de développeur de Capgo exactement. Clé de message `alternatives_cta_questions` (Questions de CTA 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 marketing ou juridique long. Voir : page ionic-appflow.astro. Conservez les termes de produit/branche et les termes de développeur de Capgo exactement. Clé de message `appflow_cta_questions` (Questions de CTA 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 marketing ou juridique long. Voir : page capwesome.astro. Conservez les termes de produit/branche et les termes de développeur de Capgo exactement. Clé de message `capwesome_cta_questions` (Questions de CTA 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 conseil. Rôle : Sous-titre ou tagline de section. Voir : page consulting.astro. Conservez les termes de produit/branche et les termes de développeur de Capgo exactement. Clé de message `consulting_faq_subtitle` (Sous-titre FAQ de conseil). | Page/zone : Comparaison/migration de marketing de Appflow. Rôle : Étiquette de navigation ou élément de navigation court. Voir : 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_selfet429with the same error code. Treat this as an intentional policy block, not a transient retry condition.
disable_auto_update_to_major
avec le même erreur __CAPGO_KEEP_0__. Traitez cela comme une politique de blocage intentionnelle, et non comme une condition de réessai transitoire.Problème
Votre canal bloque les mises à jour majeures (disable_auto_update = major) et la version majeure du bundle 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
1.0.1, la version majeure de la base doit être1(par exemple)1.0.0). - Si la cible est
10.0.1, la version majeure de base doit être10(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 majeure du paquet que vous souhaitez 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 :
- Exécutez
npx cap sync. - Rebâtissez et réinstallez l'application native.
Option de réparation B : relâchez la politique de canal
Autorisez les mises à jour automatiques transversales entre versions majeures dans les paramètres de canal (seulement si cette stratégie de lancement est intentionnelle).
Documents connexes :
- Ciblage de version : Désactiver les mises à jour automatiques entre versions majeures
- Canaux : Désactiver les stratégies de mise à jour automatique
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.
minorse bloque lorsque le bundle cible a un numéro majeur ou mineur différent du niveau de base natif du dispositif (version_buildExemple :1.2.3 -> 1.3.0est bloqué.patchse bloque pour toute modification du numéro majeur, mineur ou de patch deversion_buildSeuls les changements de suffixe sont autorisés tandis queMAJOR.MINOR.PATCHreste identique, comme1.0.0-beta.1 -> 1.0.0-beta.2ou1.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 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 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 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 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 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 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 conseil. 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 des questions fréquentes de conseil). | Page/zone : page de comparaison/migration 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).
- Fixer
- change channel policy in dashboard/CLI.
modifier la politique de canal dans le tableau de bord/__CAPGO_KEEP_0__.
disable_auto_update_to_metadata
Section intitulée « disable_auto_update_to_metadata »Cause
Le canal utilise une ciblage basé sur les métadonnées (« )version_numberet la version de base du dispositif est inférieure à la version requise min_update_version.
Solution
- Aligner la version de base du dispositif (« )
CapacitorUpdater.versionavec la version native de l'application installée, ou - ajuster
min_update_versionla stratégie du canal.
Documents connexes :
disable_auto_update_under_native
Section intitulée « disable_auto_update_under_native »La cause
Le canal empêche les dégradations en dessous du seuil natif.
La solution
- Charger une version de bundle supérieure ou égale au seuil natif, ou
- empêcher la protection de dégradation sous le canal natif.
Documents liés :
cannot_update_via_private_channel
Section intitulée « cannot_update_via_private_channel »La cause
Le canal sélectionné ou par défaut ne permet pas l'attribution automatique du dispositif.
La solution
- Utilisez un canal différent avec l'auto-assignement activé, ou
- rendez le canal public / activez l'auto-assignement.
Documents liés :
unknown_version_build / semver_error
Sous-section intitulée « unknown_version_build / semver_error »Cause
La version de base du dispositif est manquante (unknown) ou non valide semver.
Résoudre
- Définissez
plugins.CapacitorUpdater.versionà une version semver valide comme1.2.3. - Synchro et reconstruction de l'application native.
Documents liés :
unsupported_plugin_version
Section intitulée « version_plugin_non_supportée »Cause
La version du plugin de mise à jour est trop ancienne pour les exigences actuelles du serveur.
Solution
- Mettre à jour
@capgo/capacitor-updater. - Exécuter
npx cap sync. - Reconstruire et réinstaller l'application native.
disabled_platform_ios / disabled_platform_android
Section intitulée « disabled_platform_ios / disabled_platform_android »La cause
Le canal a désactivé les mises à jour pour cette plateforme.
La solution
- Activer l'option de la plateforme 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 »La cause
Le canal interdit le type de build actuel ou le cible de runtime.
La solution
- Alignez les options du canal («
allow_prod,allow_dev,allow_device,allow_emulator) » avec votre cible de test.
key_id_mismatch
Section intitulée « clé_id_mismatch »Causes
La clé de chiffrement du bundle et la clé du dispositif diffèrent.
Solution
- Utilisez la même clé de chiffrement/clé publique dans la configuration de l'application et le flux de chiffrement du bundle.
no_channel / null_channel_data
Section intitulée « aucun_canal / null_channel_data »Causes
Aucun canal valide n'a été résolu pour le dispositif.
Solution
- Définissez un canal par défaut dans le cloud, ou
- fixez
defaultChannelen builds de test, ou - assigner le canal de substitution pour appareil.
Documents liés :
Sous-section intitulée « on_premise_app »
Cause on_premise_appLe serveur de backend a renvoyé HTTP 429 avec
- App ID does not exist in Capgo L'ID de l'application n'existe pas dans __CAPGO_KEEP_0__
app_id— le - 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.
- 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_idmatches 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.updateUrlto your self-hosted update endpoint instead of the Capgo cloud URL. - Si le plan d'organisation a expiré, renouvelez ou mettez à niveau le plan.
Liste de diagnostic rapide
Section intitulée « Liste de diagnostic rapide »- Confirmez que l'ID de l'application et le canal sont corrects pour la build.
- Confirmez
CapacitorUpdater.versioncorrespond à la version de l'application native installée. - Confirmez que la politique du canal («
disable_auto_update) correspond à la mise en œuvre prévue. - Confirmez que les paramètres de plateforme/ build ciblent ce dispositif.
- Exécutez
npx @capgo/cli@latest app debuget lisez les erreurs de backend code.
Besoin d'aide supplémentaire ?
Section intitulée “Besoin d’aide supplémentaire ?”Continuez d'ici les problèmes d'actualisation courants
Section intitulée “Continuez d'ici les problèmes d'actualisation courants”Si vous utilisez Problèmes d'actualisation 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-à-jours 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 Ionic Entreprise pour le flux de travail du produit dans Alternatives de Plugins Ionic Entreprise.