Aller au contenu

@capgo/capacitor-updater

Live update pour les applications capacitor.

Les live update Capgo ne sont pas limitées à Capacitor. Utilisez le même backend et CLI avec des plugins clients frères :

@capgo/capacitor-updater déploient Mises à jour de bundle JS pour les apps Capacitor en production sans attendre la validation des stores. Téléchargez les bundles signés en arrière-plan, gérez le déploiement progressif avec des canaux et des règles de délai, et effectuez un rollback si notifyAppReady() n'est pas appelé dans la configuration de appReadyTimeout.

Cas d'usage typiques : hotfix de bugs en production, bêtas progressives par canal, expérimentations UI A/B, et rollback d'urgence vers le bundle intégré.

PlateformeSupport
iOSOui
AndroidOui
Le WebLes bundles s'appliquent à la couche WebView dans les shells natifs, pas aux sites statiques hébergés

Les clients Cordova et Electron utilisent les plugins frères liés ci-dessus avec le même backend Capgo.

  • notifyAppReady - Notifier la couche native que le JavaScript a été initialisé avec succès.
  • setUpdateUrl - Définir l'URL de mise à jour de l'application dynamiquement au runtime.
  • setStatsUrl - Définir l'URL des statistiques de l'application dynamiquement au runtime.
  • setChannelUrl - Définir l'URL du canal de l'application dynamiquement au runtime.
MéthodeDescription
notifyAppReadyInformer la couche native que l'initialisation du JavaScript a réussi.
setUpdateUrlDéfinir l'URL de mise à jour de l'application dynamiquement au runtime.
setStatsUrlDéfinir l'URL des statistiques de l'application dynamiquement au runtime.
setChannelUrlDéfinir l'URL du canal de l'application dynamiquement au runtime.
downloadTélécharger un nouveau bundle depuis l'URL fournie pour une installation ultérieure.
nextDéfinir le prochain bundle à activer lors du passage en arrière-plan ou du redémarrage de l'app.
setDéfinir le bundle actuel et recharger immédiatement l'app.
deleteSupprimer un bundle du stockage local pour libérer de l'espace disque.
setBundleErrorMarquer manuellement un bundle comme ayant échoué en mode mise à jour manuelle.
listRécupérer tous les bundles téléchargés localement et stockés dans votre app.
resetRéinitialiser l'app vers un bundle stable connu.
currentObtenir les informations sur le bundle actuellement actif.
reloadRecharger manuellement l'app pour appliquer une mise à jour en attente.
setMultiDelayConfigurer les conditions à remplir avant d'appliquer une mise à jour en attente.
cancelDelayAnnuler toutes les conditions de délai et appliquer la mise à jour en attente immédiatement.
getLatestVérifier le serveur de mise à jour pour obtenir la dernière version de bundle disponible.
setChannelDéfinissez un canal de mise à jour local pour cet appareil. Cela ne crée pas de API device override dans le dashboard.
unsetChannelSupprimez l'attribution de canal de l'appareil et revenez au canal par défaut.
getChannelRécupérez le canal actuellement assigné à cet appareil.
listChannelsRécupérez la liste de tous les canaux auxquels cet appareil peut s'auto-assigner.
setCustomIdDéfinissez un identifiant personnalisé pour cet appareil.
getBuiltinVersionRécupérez la version du bundle intégré (la version d'origine livrée avec votre app native).
getDeviceIdObtenez l'identifiant unique et respectueux de la vie privée de cet appareil.
getPluginVersionRécupérez la version du plugin Capacitor Updater installé dans votre app.
isAutoUpdateEnabledVérifiez si les mises à jour automatiques sont actuellement activées.
removeAllListenersSupprimez tous les écouteurs d'événements enregistrés pour ce plugin.
addListenerÉcoutez l'événement de téléchargement du bundle dans l'app. Se déclenche dès qu'un téléchargement démarre, pendant le téléchargement et à la fin. Cela vous renvoie le pourcentage de téléchargement tout au long de celui-ci.
addListenerÉcoutez l'événement indiquant qu'aucune mise à jour n'est nécessaire, utile si vous souhaitez forcer une vérification à chaque lancement de l'app.
addListenerÉcoutez l'événement de mise à jour disponible, utile pour forcer une vérification à chaque lancement de l'app.
addListenerÉcouter les événements downloadComplete.
addListenerÉcoutez les événements de mise à jour critique lorsque le backend signale une mise à jour incompatible avec l'app actuelle. Émet la même charge utile que l'ancien majorAvailable listener.
addListenerÉcoutez l'événement de mise à jour majeure dans l'app, pour savoir quand une mise à jour majeure est bloquée via disableAutoUpdateBreaking.
addListenerÉcoutez l'événement d'échec de mise à jour dans l'app, pour savoir quand une mise à jour n'a pas pu s'installer au prochain démarrage.
addListenerÉcoutez l'événement set dans l'app, pour savoir quand un bundle a été appliqué avec succès. Cet événement est conservé nativement jusqu'à ce que le JavaScript le consomme ; si l'app redémarre avant que votre listener ne soit attaché, le dernier set événement est délivré dès que le listener s'abonne.
addListenerÉcoutez l'événement set next dans l'app, pour savoir quand un bundle est mis en file d'attente pour la prochaine installation.
addListenerÉcoutez l'événement d'échec de téléchargement dans l'app, pour savoir quand le téléchargement d'un bundle a échoué.
addListenerÉcoutez l'événement de reload dans l'app, pour savoir quand le reload a eu lieu.
addListenerÉcoutez l'événement app ready dans l'app, pour savoir quand l'app est prête à l'emploi. Cet événement est conservé nativement jusqu'à ce que le JavaScript le consomme, il peut donc être délivré après un reload même si le listener est attaché plus tard au démarrage.
addListenerÉcouter l'événement privé de canal, déclenché lorsqu'on tente de définir un canal qui n'autorise pas l'auto-assignation de l'appareil.
addListenerÉcouter les changements d'état des mises à jour flexibles sur Android.
isAutoUpdateAvailableVérifier si la fonctionnalité de mise à jour automatique est disponible (non désactivée par une configuration de serveur personnalisée).
getNextBundleRécupérer les informations sur le bundle en attente d'activation au prochain rechargement.
getFailedUpdateRécupérer les informations sur le bundle le plus récent dont le chargement a échoué.
setShakeMenuActiver ou désactiver le menu du geste de secousse pour le débogage et les tests.
isShakeMenuEnabledVérifier si le menu de débogage du geste de secousse est actuellement activé.
setShakeChannelSelectorActivez ou désactivez le sélecteur de canal par secousse (shake) au runtime.
isShakeChannelSelectorEnabledVérifiez si le sélecteur de canal par secousse est actuellement activé.
getAppIdRécupérer l'App ID actuellement configuré pour la communication avec le serveur de mise à jour.
setAppIdModifier dynamiquement l'App ID utilisé pour la communication avec le serveur de mise à jour.
getAppUpdateInfoRécupérer les informations sur la disponibilité de l'app sur l'App Store ou le Play Store.
openAppStoreOuvrez la page de l'application sur l'App Store ou le Play Store.
performImmediateUpdateEffectuez une mise à jour immédiate dans l'application sur Android.
startFlexibleUpdateLancez une mise à jour flexible dans l'application sur Android.
completeFlexibleUpdateTerminez une mise à jour flexible dans l'application sur Android.

Cette référence est synchronisée depuis src/definitions.ts dans capacitor-updater.

Si vous utilisez @capgo/capacitor-updater pour planifier le travail sur les plugins natifs, connectez-l’à Utiliser @capgo/capacitor-updater pour la capacité native dans « Utiliser @capgo/capacitor-updater », Capgo Répertoire des plugins pour le workflow produit dans Capgo Plugin Directory, Plugins Capacitor par Capgo pour les détails d'implémentation dans Plugins Capacitor par Capgo, Ajouter ou mettre à jour des plugins pour les détails d'implémentation dans Ajout ou mise à jour de plugins, et Alternatives aux plugins Ionic Enterprise pour le workflow produit dans Alternatives aux plugins Ionic Enterprise.