Référence de l'actualisation d'Electron API
Copiez un prompt de configuration avec les étapes d'installation et le guide Markdown complet pour ce plugin.
Cette page documente toutes les méthodes, les événements et les options de configuration disponibles pour le Mise à jour Electron.
Méthodes de base
Section intitulée “Méthodes de base”notifyAppReady()
Section intitulée “notifyAppReady()”Doit être appelée à chaque lancement de l'application. Confirme que le bundle a été chargé avec succès et empêche le roulage automatique.
await updater.notifyAppReady();télécharger(options)
Sous-section intitulée “télécharger(options)”Télécharger un bundle à partir d'une URL.
const bundle = await updater.download({ url: 'https://example.com/bundle.zip', version: '1.0.1', checksum: 'sha256-hash', // Optional but recommended sessionKey: '...', // For encrypted bundles});Paramètres :
| Option | Type | Requis | Description |
|---|---|---|---|
url | chaîne de caractères | Oui | URL pour télécharger le bundle |
version | chaîne de caractères | Oui | Identifiant de version pour le bundle |
checksum | chaîne de caractères | Non | Checksum SHA256 pour la vérification |
sessionKey | chaîne de caractères | Non | Clé de session pour les ensembles chiffrés |
Retourne : BundleInfo objet avec id, version, status
next(options)
Section intitulée “next(options)”File d'attente un bundle pour être chargé à la prochaine redémarrage de l'application.
await updater.next({ id: 'bundle-id' });Paramètres :
| Option | Type | Obligatoire | Description |
|---|---|---|---|
id | chaîne | Oui | ID de l'application à ajouter à la file d'attente |
set(options)
Sous-section intitulée « set(options) »Passer immédiatement à une application et recharger l'application.
await updater.set({ id: 'bundle-id' });Paramètres :
| Option | Type | Obligatoire | Description |
|---|---|---|---|
id | chaîne | Oui | ID de l'application pour l'activation |
__CAPGO_KEEP_0__
Section intitulée “__CAPGO_KEEP_0__”Recharger manuellement l'application avec le bundle actuel.
await updater.reload();__CAPGO_KEEP_0__(options)
Section intitulée “__CAPGO_KEEP_0__(options)”Supprimer un bundle du stockage.
await updater.delete({ id: 'bundle-id' });Paramètres :
| Option | Type | Obligatoire | Description |
|---|---|---|---|
id | chaîne | Oui | Identifiant de bundle à supprimer |
reset(options)
Sous-section intitulée “reset(options)”Réinitialiser à la version par défaut ou la dernière bundle réussie.
// Reset to builtinawait updater.reset({ toLastSuccessful: false });
// Reset to last successful bundleawait updater.reset({ toLastSuccessful: true });Paramètres :
| Option | Type | Obligatoire | Description |
|---|---|---|---|
toLastSuccessful | boolean | Non | Si vrai, réinitialisez à la dernière bundle réussie au lieu de la version intégrée |
Informations sur le Bundle
Section intitulée “Informations sur le Bundle”current()
Section intitulée “current()”Obtenez des informations sur le bundle actuel et la version native.
const info = await updater.current();// { bundle: { id, version, status }, native: '1.0.0' }list(options)
Section intitulée “list(options)”Listez tous les bundles téléchargés.
const bundles = await updater.list();// [{ id, version, status, downloaded, checksum }, ...]getNextBundle()
Section intitulée “getNextBundle()”Obtenez le bundle en attente pour la prochaine redémarrage.
const next = await updater.getNextBundle();// { id, version, status } or nullgetFailedUpdate()
Section intitulée “getFailedUpdate()”Obtenez des informations sur la dernière mise à jour échouée (utile pour le débogage des retours en arrière).
const failed = await updater.getFailedUpdate();// { id, version, reason } or nullgetBuiltinVersion()
Sous-section intitulée “getBuiltinVersion()”Obtenez la version embarquée avec le fichier binaire de l'application.
const version = await updater.getBuiltinVersion();// '1.0.0'Vérification des mises à jour
Sous-section intitulée “Vérification des mises à jour”getLatest(options)
Sous-section intitulée “getLatest(options)”Vérifiez le serveur pour la dernière version disponible.
const latest = await updater.getLatest();
if (latest.url && !latest.error) { // Update available console.log('New version:', latest.version); console.log('Download URL:', latest.url);} else if (latest.error) { console.error('Error checking updates:', latest.error);}Renvoie :
| Propriété | Type | Description |
|---|---|---|
url | chaîne | URL de téléchargement (vide si aucune mise à jour) |
version | chaîne | Version disponible |
checksum | chaîne | Checksum SHA256 |
sessionKey | chaîne | Clé de session de cryptage |
error | string | Message d'erreur si la vérification a échoué |
message | string | Message du serveur |
Gestion de la chaîne
Section intitulée “Gestion de la chaîne”setChannel(options)
Section intitulée “setChannel(options)”Attribuer le dispositif à une chaîne spécifique.
await updater.setChannel({ channel: 'beta' });unsetChannel(options)
Section intitulée “unsetChannel(options)”Supprimer l'affectation de canal et utiliser la valeur par défaut.
await updater.unsetChannel();getChannel()
Section intitulée “getChannel()”Obtenir la mise en page actuelle de canal.
const channel = await updater.getChannel();// { channel: 'production', status: 'set' }listChannels()
Section intitulée “listChannels()”Lister tous les canaux disponibles pour cette application.
const channels = await updater.listChannels();// ['production', 'beta', 'staging']Conditions de retard
Section intitulée “Conditions de retard”Contrôle quand les mises à jour téléchargées sont appliquées.
__CAPGO_KEEP_0__
Section intitulée « setMultiDelay(options) »Définir les conditions qui doivent être remplies avant qu'une mise à jour soit appliquée.
// Wait for app to be backgroundedawait updater.setMultiDelay({ delayConditions: [{ kind: 'background' }]});
// Wait until specific dateawait updater.setMultiDelay({ delayConditions: [{ kind: 'date', value: '2024-12-25T00:00:00Z' }]});
// Wait for app to be killed and restartedawait updater.setMultiDelay({ delayConditions: [{ kind: 'kill' }]});
// Multiple conditions (all must be met)await updater.setMultiDelay({ delayConditions: [ { kind: 'background' }, { kind: 'date', value: '2024-12-25T00:00:00Z' } ]});Types de conditions de retard :
| Type | Valeur | Description |
|---|---|---|
background | Durée optionnelle (ms) | Attendre que l'application soit mis en arrière-plan |
kill | - | Attendre que l'application soit tuée et redémarrée |
date | Chaîne de date ISO | Attendre une date et heure spécifiques |
nativeVersion | Chaîne de version | Attendre la mise à jour de l'application native |
__CAPGO_KEEP_0__
Section intitulée “Annuler le délai”Supprimer toutes les conditions de délai et appliquer la mise à jour immédiatement lors du prochain contrôle.
await updater.cancelDelay();Identification de l'appareil
Section intitulée “Identification de l'appareil”__CAPGO_KEEP_0__
Section intitulée “getDeviceId()”Obtenez l'identifiant unique du dispositif.
const deviceId = await updater.getDeviceId();// 'uuid-xxxx-xxxx-xxxx'setCustomId(options)
Section intitulée “setCustomId(options)”Définir un identifiant personnalisé pour le dispositif (utile pour les analyses).
await updater.setCustomId({ customId: 'user-123' });Configuration
Section intitulée “Configuration”setUpdateUrl(options)
Section intitulée “setUpdateUrl(options)”Changer l'URL du serveur de mise à jour en temps réel.
await updater.setUpdateUrl({ url: 'https://my-server.com/updates' });setStatsUrl(options)
Section intitulée “setStatsUrl(options)”Changer l'URL de rapport de statistiques.
await updater.setStatsUrl({ url: 'https://my-server.com/stats' });setChannelUrl(options)
Section intitulée “setChannelUrl(options)”Changer l'URL de gestion de canal.
await updater.setChannelUrl({ url: 'https://my-server.com/channel' });setAppId(options)
Section intitulée “setAppId(options)”Changer l'ID de l'application en temps de exécution.
await updater.setAppId({ appId: 'com.example.newapp' });getAppId()
Section intitulée “getAppId()”Obtenir l'ID de l'application actuel.
const appId = await updater.getAppId();Débogage
Section intitulée « Débogage »setDebugMenu(options)
Section intitulée « setDebugMenu(options) »Activer ou désactiver le menu de débogage.
await updater.setDebugMenu({ enabled: true });isDebugMenuEnabled()
Section intitulée « isDebugMenuEnabled() »Vérifier si le menu de débogage est activé.
const enabled = await updater.isDebugMenuEnabled();Événements
Section intitulée « Événements »Écoutez les événements de mise à jour en utilisant addListener:
updater.addListener('eventName', (event) => { // Handle event});Événements disponibles
Section intitulée “Événements disponibles”| Événement | Payload | Description |
|---|---|---|
download | { percent, status } | Mise à jour des progrès de téléchargement |
updateAvailable | { bundle } | Nouvelle mise à jour disponible |
noNeedUpdate | { message } | Déjà à jour |
downloadComplete | { bundle } | Téléchargement terminé avec succès |
downloadFailed | { bundle, error } | Téléchargement échoué |
breakingAvailable | { bundle } | Mise à jour incompatibilité disponible (exige mise à jour native) |
updateFailed | { bundle, reason } | Échec de l'installation de la mise à jour |
appReloaded | {} | L'application a été rechargée |
appReady | {} | notifyAppReady() a été appelé |
Exemple : Traitement complet des événements
Section intitulée “Exemple : Traitement complet des événements”// Progress trackingupdater.addListener('download', (event) => { updateProgressBar(event.percent);});
// Update available notificationupdater.addListener('updateAvailable', (event) => { showNotification(`Update ${event.bundle.version} available!`);});
// Handle completionupdater.addListener('downloadComplete', async (event) => { // Queue for next restart await updater.next({ id: event.bundle.id }); showNotification('Update will apply on next restart');});
// Handle failuresupdater.addListener('updateFailed', (event) => { console.error('Update failed:', event.reason); reportError(event);});Options de constructeur
Section intitulée “Options de constructeur”Toutes les options de configuration pour ElectronUpdater:
const updater = new ElectronUpdater({ // Required appId: 'com.example.app',
// Version override version: '1.0.0', // Override builtin version detection
// Server URLs updateUrl: 'https://plugin.capgo.app/updates', channelUrl: 'https://plugin.capgo.app/channel_self', statsUrl: 'https://plugin.capgo.app/stats',
// Behavior autoUpdate: true, // Enable automatic update checks appReadyTimeout: 10000, // Milliseconds before rollback (default: 10000) autoDeleteFailed: true, // Auto-delete failed bundles autoDeletePrevious: true, // Auto-delete old bundles resetWhenUpdate: true, // Reset to builtin on native update
// Channels defaultChannel: 'production',
// Direct Update Mode directUpdate: false, // 'atInstall' | 'onLaunch' | 'always' | false
// Security publicKey: '...', // RSA public key for E2E encryption
// Dynamic Configuration allowModifyUrl: false, // Allow runtime URL changes allowModifyAppId: false, // Allow runtime App ID changes persistCustomId: false, // Persist custom ID across updates persistModifyUrl: false, // Persist URL changes
// Debug debugMenu: false, // Enable debug menu (Ctrl+Shift+D) disableJSLogging: false, // Disable console logs
// Periodic Updates periodCheckDelay: 0, // Seconds between auto-checks (0 = disabled, min 600)});Continuez de Electron Updater API Reference
Section intitulée « Continuez à partir de l'actualisation d'Electron API Reference »Si vous utilisez L'actualisation d'Electron API Reference pour planifier le tableau de bord et les opérations API, connectez-le à En utilisant @capgo/electron-updater pour la capacité native en utilisant @capgo/electron-updater, API Vue d'ensemble pour le détail d'implémentation dans API Vue d'ensemble, Introduction pour le détail d'implémentation dans Introduction, API Clés pour le détail d'implémentation dans API Clés, Appareils pour le détail d'implémentation dans Appareils.