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.
Aperçu
Section titled “Aperçu”- 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.
- Installez le plugin Capgo, supprimez le Capawesome SDK et appelez
CapacitorUpdater.notifyAppReady(). - 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.
Avant de commencer
Section titled “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 envisagez de transférer des bundles depuis CI/CD.
## Étape 1 – Installez Capgo et supprimez Capawesome SDK
npm uninstall @capawesome/capacitor-live-updatenpm install @capgo/capacitor-updaternpx cap syncC’est le seul échange obligatoire. Le code natif de Capgo est livré avec le plugin ; aucune aide JavaScript supplémentaire n’est requise.
Étape 2 – Configuration minimale
Section titled “Étape 2 – Configuration minimale”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 :
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 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.
Référence rapide de configuration
Section titled “Référence rapide de configuration”| Option géniale | Capgo équivalent | Avez-vous besoin de le définir ? |
|---|---|---|
appId | Extrait du tableau de bord Capgo une fois que vous créez un projet | Uniquement si vous utilisez plusieurs projets dans un seul binaire |
defaultChannel | Règles de canal gérées dans le tableau de bord/API | Facultatif; la plupart des équipes configurent cela côté serveur |
autoDeleteBundles | autoDeletePrevious: true (par défaut) | Déjà activé |
publicKey | Géré dans la console Capgo | Uniquement si vous faites pivoter les clés manuellement |
maxVersions / rétention | Politique de rétention des offres groupées | Configuré 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énial | Capgo équivalent | En 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.
Exemples de contrôle manuel
Section titled “Exemples de contrôle manuel”Téléchargez le dernier pack
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éfinissez 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' })}Appliquez immédiatement le pack téléchargé
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 – Mettre à jour les stratégies : comment Capgo les gère
Capawesome documente trois stratégies. Voici comment ils se traduisent :
Mises à jour en arrière-plan
Section titled “Mises à jour en arrière-plan”- 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.
Toujours le plus récent
Section titled “Toujours le plus récent”- Workflow précédent : ajoutez un écouteur
App.resume, appelezdownload, puisset. - 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 }) } }})Forcer la mise à jour
Section titled “Forcer la mise à jour”- 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èsnotifyAppReady()) 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.
# 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.
Chronologie de la migration
Section titled “Chronologie de la migration”- 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 prise en charge- Concierge de migration : réservez une session sur cal.com/team/capgo/demo.
Section titled “Capgo prise en charge- Concierge de migration : réservez une session sur 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, 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.