Passer au contenu

Migrer de Capawesome Cloud vers Capgo

⚡️ Capgo automatise les canaux, le nettoyage des bundles, les restaurations, les analyses et les téléchargements CLI de manière native. Utilisez ce guide pour effectuer les étapes minimales requises pour migrer et éventuellement recréer tout comportement personnalisé dont vous avez encore besoin.

  1. Rassemblez votre configuration Capawesome Cloud existante (ID d’application, canaux, clés de signature, jetons CLI) afin de pouvoir l’archiver ou l’auditer plus tard.
  2. Installez le plugin Capgo, supprimez le Capawesome SDK et appelez CapacitorUpdater.notifyAppReady().
  3. Configurez le comportement facultatif (téléchargements manuels, épinglage de lots, rechargements) si vous comptez sur ces flux aujourd’hui.

Avec Capgo, il vous suffit d’installer notre plugin et d’appeler CapacitorUpdater.notifyAppReady(). Tout le reste (canaux, nettoyage des bundles, restaurations, analyses et automatisation CLI) est géré de manière native. Les sections ci-dessous parcourent directement 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 envisagez de transférer des bundles depuis CI/CD.

## Étape 1 – Installez Capgo et supprimez Capawesome SDK

Terminal window
npm uninstall @capawesome/capacitor-live-update
npm install @capgo/capacitor-updater
npx cap sync

C’est le seul échange obligatoire. Le code natif de Capgo est livré avec le plugin ; aucune aide JavaScript supplémentaire n’est requise.

La configuration précédente nécessitait de mapper des dizaines d’options dans capacitor.config. Capgo reconnaît automatiquement votre projet, 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 répertorie comme indicateurs manuels (defaultChannel, autoDeleteBundles, politiques de rétention, etc.) est géré via le tableau de bord Capgo ou API. Vous ne devez remplacer ces clés que si vous souhaitez un comportement différent des valeurs par défaut de Capgo.

Option génialeCapgo équivalentAvez-vous besoin de le définir ?
appIdExtrait du tableau de bord Capgo une fois que vous créez un projetUniquement si vous utilisez plusieurs projets dans un seul binaire
defaultChannelRègles de canal gérées dans le tableau de bord/APIFacultatif; la plupart des équipes configurent cela côté serveur
autoDeleteBundlesautoDeletePrevious: true (par défaut)Déjà activé
publicKeyGéré dans la console CapgoUniquement si vous faites pivoter les clés manuellement
maxVersions / rétentionPolitique de rétention des offres groupéesConfiguré de manière centralisée dans Capgo (1 mois par défaut, 24 mois maximum)

## Étape 3 – Appelez notifyAppReady() (le seul hook requis)

L’ancien workflow introduisait des écouteurs personnalisés (checkForUpdates(), retryDownload(), masquant l’écran de démarrage, etc.). Capgo effectue ces étapes de manière native. 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 annule automatiquement le bundle ; aucun JavaScript supplémentaire n’est nécessaire.

C’est tout : Capgo gère les vérifications d’antécédents, la visibilité des éclaboussures et les restaurations de manière native.

Facultatif : exécutez 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 – Mappez les appels API (pour la plupart facultatifs)

Dans Capgo, vous laissez normalement le programme de mise à jour automatique s’exécuter ; les API manuelles restent disponibles si vous souhaitez un contrôle total.

Nuage génialCapgo équivalentEn avez-vous besoin ?
LiveUpdate.fetchLatestBundle()CapacitorUpdater.getLatest()Uniquement lors de la mise en œuvre de votre propre flux de téléchargement
LiveUpdate.downloadBundle()CapacitorUpdater.download()Facultatif : la mise à jour automatique native est déjà téléchargée
LiveUpdate.setNextBundle()CapacitorUpdater.next()Facultatif : le tableau de bord épingle automatiquement les bundles
LiveUpdate.reload()CapacitorUpdater.reload()Facultatif; Capgo applique les offres groupées obligatoires après notifyAppReady()
LiveUpdate.getCurrentBundle()CapacitorUpdater.current()Diagnostic en option

Si vous vous en tenez au comportement natif de mise à jour automatique, vous pouvez supprimer entièrement le Capawesome JavaScript.

Téléchargez le dernier pack

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éfinissez 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' })
}

Appliquez immédiatement le pack téléchargé

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 – Mettre à jour les stratégies : comment Capgo les gère

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

  • Workflow précédent : configurez dans le code et planifiez les téléchargements manuellement.
  • Capgo : activé par défaut (autoUpdate: true). Aucun code supplémentaire requis.
  • Workflow précédent : ajoutez un écouteur App.resume, appelez download, puis set.
  • Capgo : la mise à jour automatique en arrière-plan effectue déjà la vérification après la reprise. Vous n’avez besoin de l’écouteur manuel que si vous souhaitez un intervalle personnalisé.
Facultatif : vérification manuelle de 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 })
}
}
})
  • Workflow précédent : câblez la logique d’invite et imposez le rechargement.
  • Capgo : marquez le bundle comme « obligatoire » dans le tableau de bord, puis écoutez l’événement majorAvailable (émis après notifyAppReady()) pour obliger les utilisateurs à effectuer une mise à niveau dans votre application.

## Étape 6 – Déployer des bundles

Si vous comptiez auparavant sur un « déploiement de mise à jour en direct capawesome », Capgo propose un flux de travail CLI similaire, et vous pouvez également automatiser entièrement les déploiements via API.

Terminal window
# 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

Étant donné que Capgo suit automatiquement l’état du bundle, vous obtenez également :

  • Journaux d’audit au niveau de l’appareil pour chaque installation.
  • Rétention automatique (un mois par défaut) avec des limites configurables jusqu’à 24 mois.
  • Mesures de latence en temps réel sur status.capgo.app/history.
  • Inventaire et installation : 10 minutes (npm install, supprimez l’ancien plugin).
  • Configuration et préparation : 5 minutes (notifyAppReady).
  • Contrôles d’intégrité : 15 minutes (tests manuels ou auditeurs facultatifs).
  • Premier déploiement : 10 minutes avec Capgo CLI ou intégration CI.

Lors des entraînements, les équipes terminent en moins d’une heure. Si vous fournissez les détails du projet Capawesome, nous pouvons même importer des chaînes et des listes d’appareils pour vous.

Capgo est conçu pour une fiabilité à long terme : mises à jour delta natives, bundles chiffrés, restaurations automatiques et analyses qui ne nécessitent pas de JavaScript personnalisé. Une fois que vous avez migré, vous pouvez supprimer la colle lourde de maintenance et laisser la plate-forme exécuter automatiquement les mises à jour.