Problèmes de mise à jour courants
Copiez une 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 et un code message dans le /updates la réponse. Cette page décrit les échecs les plus courants et les solutions 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/ configuration plutôt que du retard de cache, surtout lorsque la réponse inclut un
errorcode. - tandis que vous reproduisez le problème pour voir les détails de la demande/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
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 trafic de périphérique.
- 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 de requêtes. 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
/updatespréservent le contrat de réponse de l'actualiseur et renvoient HTTP200. Son corps comprenderror,message,kind: "blocked", etprovider("google"ou"apple")./statscontext : Fragment de texte HTML d'une chaîne de Capgo UI 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. Vu dans : page alternatives.astro. Conservez les termes de produit et de marque de Capgo ainsi que les termes de développeur exactement. Clé de message `alternatives_cta_questions` (Questions de CTA Alternatives). | Fragment de texte HTML d'une chaîne de Capgo UI plus longue (clé parente `appflow_cta_questions`). Page/zone : Copie de marketing de comparaison/migration d'Appflow. Rôle : Paragraphe marketing ou juridique long. Vu dans : page ionic-appflow.astro. Conservez les termes de produit et de marque de Capgo ainsi que les termes de développeur exactement. Clé de message `appflow_cta_questions` (Questions de CTA Appflow). | Fragment de texte HTML d'une chaîne de Capgo UI plus longue (clé parente `capwesome_cta_questions`). Page/zone : Page de comparaison de Capawesome. Rôle : Paragraphe marketing ou juridique long. Vu dans : page capwesome.astro. Conservez les termes de produit et de marque de Capgo ainsi que les termes de développeur exactement. Clé de message `capwesome_cta_questions` (Questions de CTA Capwesome). | Page/zone : Page de services de conseil. Rôle : Sous-titre ou tagline de section. Vu dans : page consulting.astro. Conservez les termes de produit et de marque de Capgo ainsi que les termes de développeur exactement. Clé de message `consulting_faq_subtitle` (Sous-titre FAQ de conseil). | Page/zone : Copie de marketing 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)./channel_selfet429with the same error code. Treat this as an intentional policy block, not a transient retry condition.
disable_auto_update_to_major
avec la même erreur __CAPGO_KEEP_0__. Traitez cela comme une politique de blocage intentionnelle, et non comme une condition de réessai transitoire.Cause
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.0donc 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 ê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 avec 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 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 :
- Exécutez
npx cap sync. - Rebâtissez et réinstallez l'application native.
Option de correction B : assouplir la politique de canal
Autorisez les mises à jour automatiques inter-canaux dans les paramètres de canal (seulement si cette stratégie de déploiement est intentionnelle).
Documents connexes :
- Ciblage de version : Désactiver les mises à jour automatiques entre les 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 une version majeure ou mineure différente de la ligne de base native du dispositif (version_buildExemple :1.2.3 -> 1.3.0est bloqué.patchse bloque pour tout changement de 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.
contexte : 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. 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 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. 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 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. 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 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. 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 FAQ de conseil). | 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.
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_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_versionla stratégie du canal.
Documents liés :
disable_auto_update_under_native
Section intitulée “disable_auto_update_under_native”Cause
Le canal empêche les régressions en dessous du seuil natif.
Fix
- Téléchargez une version de bundle supérieure ou égale au seuil natif, ou
- désactivez la protection de régression sous natif pour ce canal.
Documents liés :
cannot_update_via_private_channel
Section intitulée “cannot_update_via_private_channel”Cause
Le canal sélectionné/par défaut ne permet pas l'attribution automatique de l'appareil.
Fix
- Utilisez un canal différent avec l'auto-assignement activé, ou
- rendez le canal public / activez l'auto-assignement.
Documents connexes :
unknown_version_build / semver_error
Sous-section intitulée « unknown_version_build / erreur_semver »Cause
La version de base du périphérique est manquante (unknown) ou non valide semver.
Résolution
- Définissez
plugins.CapacitorUpdater.versionà une version semver valide comme1.2.3. - Synchronisez et reconstruirez 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.
Résoudre
- 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 »Cause
Le canal a désactivé les mises à jour pour cette plateforme.
Fix
- 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 »Cause
Le canal interdit le type de build actuel ou le cible de runtime.
Fix
- Aligner les options du canal (
allow_prod,allow_dev,allow_device,allow_emulator)
key_id_mismatch
Section intitulée « clé_id_incompatible »Cause
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 / données_de_canal_null »Cause
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 - attribuez un canal personnalisé pour le dispositif.
Documents liés :
on_premise_app
Documents liés :Sections intitulées « on_premise_app »
Cause on_premise_appLe serveur backend a renvoyé le code 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 le dispositif 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 à jour 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 courants de mise à jour
Section intitulée « Continuez d'ici les problèmes courants de mise à jour »Si vous utilisez Problèmes courants de mise à jour 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 des plugins pour le flux de travail du produit dans Capgo Répertoire des plugins 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.