Migrer depuis Capawesome Cloud vers Capgo
Copiez une commande de configuration avec les étapes d'installation et la guide markdown complet pour ce plugin.
⚡️ Capgo automatise les canaux, la suppression des bundles, les retours en arrière, les analyses et les CLI téléchargements natifs. Utilisez ce guide pour effectuer les étapes minimales requises pour migrer et, le cas échéant, recréer tout comportement personnalisé dont vous avez encore besoin.
Vue d'ensemble
Section intitulée « Vue d'ensemble »- Générez votre configuration Cloud existante Capawesome (ID d'application, canaux, clés de signature, jetons CLI) afin de l'archiver ou de l'auditer ultérieurement.
- Installez le plugin Capgo, supprimez le Capawesome SDK et appelez
CapacitorUpdater.notifyAppReady(). - Configurez les comportements optionnels (téléchargements manuels, fixation de bundles, rechargements) si vous vous appuyez sur ces flux aujourd'hui.
Avec Capgo, vous n'avez besoin d'installer que notre plugin et d'appeler CapacitorUpdater.notifyAppReady()Tout le reste—canaux, nettoyage de bundles, annulations, analytics et CLI automatisation—is géré nativement. Les sections ci-dessous décrivent chaque tâche directement.
Avant de commencer
Sous-titre « Avant de commencer »- Assurez-vous que votre projet utilise déjà Capacitor 5 ou une version ultérieure.
- Installez le Capgo CLI (
npm install -g @capgo/cli) si vous prévoyez envoyer des bundles à partir de CI/CD.
Étape 1 – Installez Capgo et supprimez le Capawesome SDK
Sous-titre « Étape 1 – Installez Capgo et supprimez le Capawesome SDK »npm uninstall @capawesome/capacitor-live-updatenpm install @capgo/capacitor-updaternpx cap syncC'est la seule mise à niveau obligatoire. Le Capgo’s native code embarque le plugin; aucune aide JavaScript supplémentaire n'est requise.
Étape 2 – Configuration minimale
Section intitulée « Étape 2 – Configuration minimale »La configuration précédente nécessitait de mapper des dizaines d'options capacitor.config. Le Capgo reconnaît automatiquement votre projet, donc la configuration minimale ressemble à ceci :
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: true, autoDeletePrevious: true, periodCheckDelay: 10 * 60 * 1000, // optional: check every 10 minutes }, },}
export default configTout ce que Capawesome liste comme drapeaux manuels (defaultChannel, autoDeleteBundles, politiques de conservation, etc.) est géré à travers le tableau de bord Capgo ou API. Vous n'avez besoin de surcharger ces clés que si vous souhaitez une comportement différent de Capgo par défaut.
Référence rapide de la configuration
Référence rapide de la configuration| Option Capawesome | Capgo équivalent | Avez-vous besoin de le configurer ? |
|---|---|---|
appId | Prendu à partir du tableau de bord Capgo une fois que vous créez un projet | Seulement si vous utilisez plusieurs projets dans un binaire |
defaultChannel | Règles de canal gérées dans le tableau de bord/API | Facultatif ; la plupart des équipes définissent cela côté serveur |
autoDeleteBundles | autoDeletePrevious: true (par défaut) | Déjà activé |
publicKey | Géré dans le console Capgo | Seulement si vous rotatez les clés manuellement |
maxVersions / conservation | Politique de conservation du bundle | Configuré centralement dans Capgo (1 mois par défaut, 24 mois maximum) |
Étape 3 – Appel notifyAppReady() (la seule fonction requise)
Section intitulée “Étape 3 – Appel notifyAppReady() (la seule fonction requise)”L'ancien flux de travail a introduit des écouteurs personnalisés (checkForUpdates(), retryDownload(), la cachette de l'écran de démarrage, etc.). Capgo effectue ces étapes nativement. La seule API que vous devez appeler est :
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()Cela confirme que l'application s'est démarrée avec succès. Si la confirmation ne parvient jamais, Capgo effectue automatiquement le retour en arrière du bundle—pas de JavaScript supplémentaire nécessaire.
C'est tout—Capgo gère les vérifications en arrière-plan, la visibilité de l'écran de démarrage et les retours en arrière nativement.
Facultatif : exécuter une logique personnalisée avant que l'écran de démarrage ne se cache
import { CapacitorUpdater } from '@capgo/capacitor-updater'import { SplashScreen } from '@capacitor/splash-screen'
CapacitorUpdater.addListener('appReady', () => { // Run diagnostics or logging if you need to SplashScreen.hide()})
CapacitorUpdater.notifyAppReady()Étape 4 – Cartographier les appels API (pour la plupart optionnels)
Section intitulée « Étape 4 – Cartographier les appels API (pour la plupart optionnels) »Dans Capgo vous laissez généralement tourner l'actualiseur automatique; les APIs manuelles restent disponibles si vous souhaitez avoir un contrôle total.
| Cloud Capawesome | Équivalent de Capgo | En avez-vous besoin? |
|---|---|---|
LiveUpdate.fetchLatestBundle() | CapacitorUpdater.getLatest() | Seulement lors de la mise en œuvre de votre propre flux de téléchargement |
LiveUpdate.downloadBundle() | CapacitorUpdater.download() | Optionnel : mise à jour native auto-actualise déjà |
LiveUpdate.setNextBundle() | CapacitorUpdater.next() | Optionnel : les vignettes du tableau de bord pin les bundles automatiquement |
LiveUpdate.reload() | CapacitorUpdater.reload() | Optionnel ; Capgo impose les bundles obligatoires après notifyAppReady() |
LiveUpdate.getCurrentBundle() | CapacitorUpdater.current() | Optionnel : diagnostics |
Si vous maintenez le comportement d'auto-mise à jour natif, vous pouvez supprimer le JavaScript Capawesome entièrement.
Exemples de contrôle manuel
Section intitulée “Exemples de contrôle manuel”Téléchargez le dernier bundle
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const downloadUpdate = async () => { const latest = await CapacitorUpdater.getLatest() if (latest?.url) { const bundle = await CapacitorUpdater.download({ url: latest.url, version: latest.version, }) console.log('Bundle downloaded', bundle?.id) }}import { LiveUpdate } from '@capawesome/capacitor-live-update'
const downloadUpdate = async () => { const result = await LiveUpdate.fetchLatestBundle() if (result.downloadUrl) { await LiveUpdate.downloadBundle({ bundleId: result.bundleId, url: result.downloadUrl, }) console.log('Bundle downloaded') }}Définir le prochain bundle
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const setNextBundle = async () => { await CapacitorUpdater.next({ id: 'bundle-id-123' })}import { LiveUpdate } from '@capawesome/capacitor-live-update'
const setNextBundle = async () => { await LiveUpdate.setNextBundle({ bundleId: 'bundle-id-123' })}Appliquer le bundle téléchargé immédiatement
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const applyUpdate = async () => { await CapacitorUpdater.reload()}import { LiveUpdate } from '@capawesome/capacitor-live-update'
const applyUpdate = async () => { await LiveUpdate.reload()}Étape 5 – Stratégies d'actualisation : comment Capgo les gère
Section intitulée « Étape 5 – Stratégies d'actualisation : comment Capgo les gère »Capawesome décrit trois stratégies. Voici comment elles se traduisent :
Mises à jour en arrière-plan
Section intitulée « Mises à jour en arrière-plan »- Flux de travail précédent: configure dans code et planifiez les téléchargements manuellement.
- Capgo: activé par défaut (
autoUpdate: true). Pas d'code supplémentaire nécessaire.
Toujours à jour
Section intitulée « Toujours à jour »- Flux de travail précédent: ajoutez un
App.resumeécouteur, appelezdownload, puisset. - Capgo: la mise à jour automatique en arrière-plan effectue déjà la vérification après reprise. Vous n'avez besoin que de l'écouteur personnalisé si vous souhaitez une plage d'intervalle personnalisée.
Optionnel : vérification manuelle du dossier
import { App } from '@capacitor/app'import { CapacitorUpdater } from '@capgo/capacitor-updater'
App.addListener('resume', async () => { const latest = await CapacitorUpdater.getLatest() if (latest?.url) { const downloaded = await CapacitorUpdater.download({ url: latest.url, version: latest.version, }) if (downloaded) { await CapacitorUpdater.next({ id: downloaded.id }) } }})Mettre à jour de force
Section intitulée « Mettre à jour de force »- Flux de travail précédent: logique de la commande de câblage et exiger un rechargement.
- Capgo: marquer le bundle comme « obligatoire » dans le tableau de bord, puis écouter pour l'
majorAvailableévénement (émis aprèsnotifyAppReady()) pour exiger aux utilisateurs de mettre à jour à l'intérieur de votre application.
Étape 6 – Déploiement des bundles
Section intitulée « Étape 6 – Déploiement des bundles »Si vous vous êtes auparavant appuyé sur capawesome live-update deploy, Capgo propose un flux de travail similaire CLI, et vous pouvez également automatiser les déploiements entièrement via API.
# Authenticate once (stores a token in your CI environment)capgo login
# Upload a new bundle (auto-detects platform/version)capgo bundle upload --path dist --channel productionPuisque Capgo suit l'état du bundle automatiquement, vous obtenez également :
- Journaux d'audit au niveau du dispositif pour chaque installation.
- Rétention automatique (un mois par défaut) avec des limites configurables jusqu'à 24 mois.
- Métriques de latence en temps réel à status.capgo.app/history.
Chronologie de la migration
Section intitulée “Chronologie de la migration”- Inventaire & installation: 10 minutes (
npm install, supprimez l'ancien plugin. - Configuration & prêt: 5 minutes (
notifyAppReady). - Vérifications de base: 15 minutes (tests manuels facultatifs ou écouteurs).
- Première mise en production: 10 minutes avec Capgo CLI ou intégration CI.
Dans la pratique, les équipes terminent en moins d'une heure. Si vous fournissez les détails du projet Capawesome, nous pouvons même importer les canaux et les listes de périphériques pour vous.
Capgo support
Section intitulée “Capgo support”- Concierge de migration: réservez une session à cal.com/team/capgo/demo.
- Communauté: rejoignez le Capgo Discord.
- Suivi des problèmes: github.com/Cap-go/capacitor-updater/issues.
Capgo est conçu pour une fiabilité à long terme : mises à jour delta natives, ensembles chiffrés, redémarrages automatiques et analyses qui ne nécessitent pas de JavaScript personnalisé. Une fois que vous avez migré, vous pouvez supprimer les liens de maintenance lourds et laisser la plateforme gérer les mises à jour automatiquement.