Aller directement au contenu

Migrer de Capawesome Cloud vers Capgo

⚡️ Capgo automatise les canaux, la suppression des bundles, les retours en arrière, les analyses et CLI téléverse des fichiers natively. Utilisez ce guide pour effectuer les étapes minimales requises pour migrer et, optionnellement, recréer tout comportement personnalisé dont vous avez encore besoin.

  1. Réunissez votre configuration Cloud Capawesome existante (ID d'application, canaux, clés de signature, CLI jetons) afin que vous puissiez l'archiver ou l'auditer ultérieurement.
  2. Installez le plugin Capgo, supprimez le Capawesome SDK et appelez CapacitorUpdater.notifyAppReady().
  3. Configurez les comportements facultatifs (téléchargements manuels, blocage des 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 des bundles, retours en arrière, analyses et CLI automatisation—is géré nativement. Les sections ci-dessous décrivent chaque tâche directement.

  • 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 de pousser des bundles à partir de CI/CD.

Étape 1 – Installez Capgo et supprimez le Capawesome SDK

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

C'est la seule substitution obligatoire. Le Capgo natif de code embarque le plugin; aucune aide JavaScript supplémentaire n'est requise.

La configuration précédente nécessitait de mapper des dizaines d'options en capacitor.config. Le Capgo reconnaît automatiquement votre projet, donc la configuration minimale ressemble à 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 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 ceux par défaut de Capgo.

option CapawesomeCapgo équivalentAvez-vous besoin de le configurer ?
appIdPrelevé à partir du tableau de bord Capgo dès la création d'un projetSeulement si vous utilisez plusieurs projets dans un 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 le console CapgoSeulement si vous roulez les clés manuellement
maxVersions / conservationPolitique de rétention de bundleConfiguré 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) »

Le flux de travail ancien a introduit des écouteurs personnalisés (checkForUpdates(), retryDownload(), cachant l'écran de splash, 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 rollback 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 splash et les retours en arrière nativement.

Facultatif : exécuter une logique personnalisée avant que l'écran de splash 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 – Cartographiez les appels API (pour la plupart facultatifs)

Section intitulée « Étape 4 – Cartographiez les appels API (pour la plupart facultatifs) »

Dans Capgo vous laissez généralement fonctionner l'actualiseur automatique ; les API manuelles restent disponibles si vous souhaitez avoir un contrôle total.

Cloud de CapawesomeÉquivalent de CapgoEn 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()Facultatif : l'auto-mise à jour native télécharge déjà les éléments
LiveUpdate.setNextBundle()CapacitorUpdater.next()Facultatif : les vignettes du tableau de bord fixent automatiquement les bundles
LiveUpdate.reload()CapacitorUpdater.reload()Facultatif ; Capgo impose les bundles obligatoires après notifyAppReady()
LiveUpdate.getCurrentBundle()CapacitorUpdater.current()Diagnostic facultatif

Si vous vous contentez du comportement d'auto-mise à jour natif vous pouvez supprimer le JavaScript de Capawesome entièrement.

Téléchargez 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)
}
}
Cloud de Capawesome
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' })
}
Cloud de Capawesome
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const setNextBundle = async () => {
await LiveUpdate.setNextBundle({ bundleId: 'bundle-id-123' })
}

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

Section intitulée « Étape 5 – Mise à jour des stratégies : comment Capgo les gère »

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

  • Flux de travail précédentconfigurer dans code et planifier les téléchargements manuellement.
  • Capgoactivé par défaut (autoUpdate: true). Aucun code supplémentaire requis.
  • Flux de travail précédent: ajoutez un App.resume écouteur, appelez download, puis set.
  • CapgoL'actualisation automatique en arrière-plan effectue déjà la vérification après la reprise. Vous n'avez besoin que de l'écouteur manuel si vous souhaitez une plage d'intervalle personnalisée.
Optionnel : vérification de reprise manuelle
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 })
}
}
})
  • 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 l' majorAvailable événement (émis après notifyAppReady()) pour exiger aux utilisateurs de mettre à jour à l'intérieur de votre application.

Si vous vous êtes auparavant appuyé sur capawesome live-update deployCapgo propose un workflow similaire à CLI et vous pouvez également automatiser les déploiements entièrement 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

Parce que Capgo suit l'état de la charge automatiquement, 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 à status.capgo.app/history.
  • Inventory & 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 est conçu pour une fiabilité à long terme : mises à jour delta natives, bundles 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.

Continuez de Migratez de Capawesome Cloud vers Capgo

Titre de la section “Continuez de Migratez de Capawesome Cloud vers Capgo”

Si vous utilisez Migratez de Capawesome Cloud vers Capgo pour planifier l'automatisation de CI/CD, connectez-le avec Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Builds natifs pour le flux de travail du produit dans Capgo Builds natifs, Capgo Intégrations pour le flux de travail du produit dans Capgo Intégrations, Intégration CI/CD pour le détail d'implémentation dans Intégration CI/CD, et GitHub Intégration d'actions pour le détail d'implémentation dans GitHub Intégration d'actions.