Aller au contenu

Migrer de Capawesome Cloud vers Capgo

⚡️ Capgo automatise les canaux, le nettoyage des bundles, les rollbacks, l'analytics et les uploads CLI de manière native. Utilisez ce guide pour effectuer les étapes minimales nécessaires à la migration et, si besoin, recréer vos comportements personnalisés.

  1. Rassemblez votre configuration Capawesome Cloud actuelle (App ID, canaux, clés de signature, tokens CLI) afin de pouvoir l'archiver ou l'auditer plus tard.
  2. Installez le plugin Capgo, supprimez le SDK de Capawesome, et appelez CapacitorUpdater.notifyAppReady().
  3. Configurez les comportements optionnels (téléchargements manuels, pinning de bundles, reloads) si vous utilisez ces flux actuellement.

Avec Capgo, il vous suffit d'installer notre plugin et d'appeler CapacitorUpdater.notifyAppReady(). Tout le reste — canaux, nettoyage des bundles, rollbacks, analytics et l'automatisation CLI — est géré nativement. Les sections ci-dessous détaillent chaque tâche.

  • 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 d'envoyer des bundles via CI/CD.

Étape 1 – Installer Capgo et supprimer le SDK de Capawesome

Section intitulée « Étape 1 – Installer Capgo et supprimer le SDK de Capawesome »
Fenêtre de terminal
npm uninstall @capawesome/capacitor-live-update
npm install @capgo/capacitor-updater
npx cap sync

C'est le seul remplacement obligatoire. Le code natif de Capgo est inclus avec le plugin ; aucun helper JavaScript supplémentaire n'est requis.

L'ancienne configuration nécessitait de mapper des dizaines d'options dans capacitor.config. Capgo reconnaît votre projet automatiquement, la configuration minimale ressemble donc à ceci :

capacitor.config.ts
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 config

Tout ce que Capawesome liste comme des flags manuels (defaultChannel, autoDeleteBundles, les politiques de rétention, etc.) est géré via le dashboard Capgo ou API. Vous n'avez besoin de surcharger ces clés que si vous souhaitez un comportement différent des réglages par défaut de Capgo.

Option CapawesomeÉquivalent CapgoDoit-on la configurer ?
appIdRécupéré depuis le dashboard Capgo une fois votre projet crééSeulement si vous utilisez plusieurs projets dans un seul binaire
defaultChannelRègles de canal gérées dans le dashboard/APIOptional; most teams set this server-side
autoDeleteBundlesautoDeletePrevious: true (par défaut)Déjà activé
publicKeyGéré via la console CapgoUniquement si vous faites une rotation manuelle des clés
maxVersions / rétentionPolitique de rétention des bundlesConfigurée de façon centralisée dans Capgo (1 mois par défaut, 24 mois max)

Étape 3 – Appeler notifyAppReady() (le seul hook requis)

Section intitulée « Étape 3 – Appeler notifyAppReady() (le seul hook requis) »

L'ancien workflow introduisait des écouteurs personnalisés (checkForUpdates(), retryDownload(), le masquage de l'écran de splash, etc.). Capgo effectue ces étapes nativement. Le seul API que vous devez appeler est :

import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()

Cela confirme que l'application a démarré avec succès. Si la confirmation n'arrive jamais, Capgo effectue automatiquement un rollback du bundle, sans JavaScript supplémentaire.

C'est tout—Capgo gère nativement les vérifications en arrière-plan, la visibilité du splash screen et les rollbacks.

Optionnel : exécuter une logique personnalisée avant de masquer le splash screen
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()

Avec Capgo, vous laissez normalement l'auto-updater s'exécuter ; les API manuelles restent disponibles si vous souhaitez un contrôle total.

Capawesome CloudÉquivalent CapgoEn avez-vous besoin ?
LiveUpdate.fetchLatestBundle()CapacitorUpdater.getLatest()Only when implementing your own download workflow
LiveUpdate.downloadBundle()CapacitorUpdater.download()Optionnel : l'auto-update natif télécharge déjà
LiveUpdate.setNextBundle()CapacitorUpdater.next()Optionnel : le dashboard épingle les bundles automatiquement
LiveUpdate.reload()CapacitorUpdater.reload()Optionnel ; Capgo impose ensuite les bundles obligatoires notifyAppReady()
LiveUpdate.getCurrentBundle()CapacitorUpdater.current()Diagnostics optionnels

Si vous conservez le comportement de l'auto-update natif, vous pouvez supprimer entièrement le JavaScript de Capawesome.

Télécharger le dernier bundle

Capgo
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)
}
}
Capawesome Cloud
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

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const setNextBundle = async () => {
await CapacitorUpdater.next({ id: 'bundle-id-123' })
}
Capawesome Cloud
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

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const applyUpdate = async () => {
await CapacitorUpdater.reload()
}
Capawesome Cloud
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const applyUpdate = async () => {
await LiveUpdate.reload()
}

Étape 5 – Stratégies de mise à jour : comment Capgo les gère

Section intitulée « Étape 5 – Stratégies de mise à jour : comment Capgo les gère »

Capawesome documente trois stratégies. Voici comment elles se traduisent :

  • Ancien workflow : configurez dans code et planifiez les téléchargements manuellement.
  • Capgo : activé par défaut (autoUpdate: true). Aucun code supplémentaire requis.
  • Ancien workflow : ajoutez un App.resume écouteur, appeler download, puis set.
  • Capgo: l'auto-update en arrière-plan effectue déjà la vérification après la reprise. Le listener manuel n'est nécessaire que si vous souhaitez un intervalle personnalisé.
Optionnel : vérification manuelle à la reprise
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 })
}
}
})
  • Ancien workflow: liez la logique du prompt et forcez le reload.
  • Capgo: marquez le bundle comme « obligatoire » dans le dashboard, puis écoutez le majorAvailable événement (émis après notifyAppReady()) pour forcer les utilisateurs à mettre à jour l'app.

Si vous comptiez auparavant sur capawesome live-update deploy, Capgo propose un workflow CLI similaire, et vous pouvez aussi automatiser entièrement vos déploiements via API.

Fenêtre de terminal
# 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 production

Comme Capgo suit automatiquement la santé des bundles, vous bénéficiez aussi de :

  • Device-level audit logs for every install.
  • Une rétention automatique (un mois par défaut) avec des limites configurables jusqu'à 24 mois.
  • Métriques de latence en temps réel sur statut.capgo.app/history.
  • Inventaire et installation: 10 min (npm install, supprimer l'ancien plugin).
  • Config et préparation: 5 minutes (notifyAppReady).
  • Vérifications de cohérence: 15 min (tests manuels ou listeners optionnels).
  • Premier déploiement: 10 min avec Capgo CLI ou une intégration CI.

En pratique, les équipes terminent en moins d'une heure. Si vous fournissez les détails de votre projet Capawesome, nous pouvons même importer vos canaux et vos listes d'appareils.

Capgo est conçu pour une fiabilité à long terme : mises à jour delta natives, bundles chiffrés, rollbacks automatiques et analytics ne nécessitant pas de code JavaScript personnalisé. Une fois la migration terminée, vous pouvez supprimer la couche de glue gourmande en maintenance et laisser la plateforme gérer les mises à jour automatiquement.

Continuer après la migration de Capawesome Cloud vers Capgo

Section intitulée « Continuer après la migration de Capawesome Cloud vers Capgo »

Si vous utilisez Migrer de Capawesome Cloud vers Capgo pour planifier l'automatisation CI/CD, et le connecter avec CI/CD Capgo pour le workflow produit dans le CI/CD de Capgo, Capgo Native Build pour le workflow produit dans les Native Builds de Capgo, Intégrations Capgo pour le workflow produit dans les intégrations de Capgo, Intégration CI/CD pour le détail d'implémentation dans l'intégration CI/CD, et Intégration GitHub Actions pour les détails d'implémentation de l'intégration GitHub Actions.