Referensi Electron Updater API
Pengaturan siap dicopy dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Halaman ini mendokumentasikan semua metode, event, dan opsi pengaturan yang tersedia untuk Pembarui Elektron.
Metode Utama
Judul Bagian “Metode Utama”notifyAppReady()
context: notify bahwa aplikasi sudah siapJudul Bagian “notifyAppReady()” Wajib dipanggil pada setiap peluncuran aplikasi.
await updater.notifyAppReady();(10 detik default), update dianggap gagal dan aplikasi kembali ke versi sebelumnya.
Judul Bagian berjudul “download(options)”Unduh sebuah bundle dari sebuah 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});Parameter:
| Pilihan | Jenis | Wajib | Deskripsi |
|---|---|---|---|
url | string | Ya | URL untuk mengunduh bundle dari |
version | string | Ya | Identifikasi versi untuk bundle |
checksum | string | Tidak | Checksum SHA256 untuk verifikasi |
sessionKey | string | Tidak | Kunci sesi untuk bundle yang dienkripsi |
Kembali: BundleInfo objek dengan id, version, status
next(options)
Bagian berjudul “next(options)”Antrumkan paket untuk dimuat pada restart aplikasi berikutnya.
await updater.next({ id: 'bundle-id' });Parameter:
| Pilihan | Tipe | Wajib | Deskripsi |
|---|---|---|---|
id | string | Iya | ID Paket untuk di antrumkan |
set(options)
Bagian berjudul “set(options)”Langsung beralih ke bundle dan muat ulang aplikasi.
await updater.set({ id: 'bundle-id' });Parameter:
| Pilihan | Tipe | Wajib | Deskripsi |
|---|---|---|---|
id | string | Iya | ID bundle untuk diaktifkan |
reload()
Bagian judul “reload()”Muat ulang aplikasi secara manual dengan bundle saat ini.
await updater.reload();delete(options)
Judul bagian “delete(options)”Hapus bundle dari penyimpanan.
await updater.delete({ id: 'bundle-id' });Parameter:
| Pilihan | Jenis | Wajib | Deskripsi |
|---|---|---|---|
id | string | Ya | ID Paket untuk dihapus |
reset(options)
Judul Bagian “reset(options)”Reset ke versi bawaan atau bundle terakhir yang berhasil.
// Reset to builtinawait updater.reset({ toLastSuccessful: false });
// Reset to last successful bundleawait updater.reset({ toLastSuccessful: true });Parameter:
| Pilihan | Tipe | Wajib | Deskripsi |
|---|---|---|---|
toLastSuccessful | boolean | Tidak | Jika benar, kembalikan ke bundle terakhir yang sukses bukan built-in |
Informasi Bundle
Bab berjudul “Informasi Bundle”current()
Bab berjudul “current()”Dapatkan informasi tentang bundle saat ini dan versi native.
const info = await updater.current();// { bundle: { id, version, status }, native: '1.0.0' }list(options)
Bab berjudul “list(options)”Daftar semua bundle yang diunduh.
const bundles = await updater.list();// [{ id, version, status, downloaded, checksum }, ...]Mendapatkan Paket Berikutnya()
Bab berjudul “Mendapatkan Paket Berikutnya()”Mendapatkan paket yang akan dijalankan setelah restart.
const next = await updater.getNextBundle();// { id, version, status } or nullMendapatkan Update yang Gagal()
Bab berjudul “Mendapatkan Update yang Gagal()”Mendapatkan informasi tentang update terakhir yang gagal (bermanfaat untuk debugging rollback).
const failed = await updater.getFailedUpdate();// { id, version, reason } or nullMendapatkan Versi Bawaan()
Bab berjudul “Mendapatkan Versi Bawaan()”Mendapatkan versi yang dikirimkan bersama dengan aplikasi biner.
const version = await updater.getBuiltinVersion();// '1.0.0'Periksa Update
Judul Bagian “Periksa Update”getLatest(options)
Judul Bagian “getLatest(options)”Periksa server untuk versi terbaru yang tersedia.
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);}Mengembalikan:
| Sifat | Tipe | Deskripsi |
|---|---|---|
url | string | URL Download (kosong jika tidak ada update) |
version | Versi tersedia | Versi tersedia |
checksum | Checksum SHA256 | Checksum SHA256 |
sessionKey | Kunci enkripsi sesi | Kunci enkripsi sesi |
error | Pesan kesalahan jika cek gagal | Pesan kesalahan jika cek gagal |
message | Pesan server | Pengelolaan Channel |
Pengelolaan Channel
__CAPGO_KEEP_0__Set Channel (options)
Judul Bagian: Set Channel (options)Tentukan perangkat ke saluran tertentu.
await updater.setChannel({ channel: 'beta' });Unset Channel (options)
Judul Bagian: Unset Channel (options)Hapus penugasan saluran dan gunakan default.
await updater.unsetChannel();Get Channel ()
Judul Bagian: Get Channel ()Dapatkan penugasan saluran saat ini.
const channel = await updater.getChannel();// { channel: 'production', status: 'set' }Daftar Channel()
Judul Bagian “Daftar Channel()”Daftar semua channel yang tersedia untuk aplikasi ini.
const channels = await updater.listChannels();// ['production', 'beta', 'staging']Syarat Penundaan
Judul Bagian “Syarat Penundaan”Kontrol kapan pembaruan yang diunduh diterapkan.
setMultiDelay(options)
Judul Bagian “setMultiDelay(options)”Set syarat-syarat yang harus dipenuhi sebelum pembaruan diterapkan.
// 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' } ]});Jenis Syarat Penundaan:
| Tipe | Nilai | Deskripsi |
|---|---|---|
background | Waktu opsional (ms) | Tunggu aplikasi di background |
kill | - | Tunggu aplikasi dihancurkan dan diulang |
date | String tanggal ISO | Tunggu sampai tanggal/waktu tertentu |
nativeVersion | String versi | Tunggu update aplikasi native |
cancelDelay()
Bagian judul “cancelDelay()”Menghapus semua kondisi delay dan menerapkan pembaruan segera pada cek berikutnya.
await updater.cancelDelay();Pengenalan Perangkat
Bab berjudul “Pengenalan Perangkat”getDeviceId()
Bab berjudul “getDeviceId()”Dapatkan identifikasi perangkat unik.
const deviceId = await updater.getDeviceId();// 'uuid-xxxx-xxxx-xxxx'setCustomId(options)
Bab berjudul “setCustomId(options)”Setel identifikasi khusus untuk perangkat (bermanfaat untuk analisis).
await updater.setCustomId({ customId: 'user-123' });Konfigurasi
Bagian berjudul “Konfigurasi”setUpdateUrl(options)
Bagian berjudul “setUpdateUrl(options)”Ganti URL server pembaruan secara waktu nyata.
await updater.setUpdateUrl({ url: 'https://my-server.com/updates' });setStatsUrl(options)
Bagian berjudul “setStatsUrl(options)”Ubah URL pelaporan statistik.
await updater.setStatsUrl({ url: 'https://my-server.com/stats' });setChannelUrl(options)
Bab berjudul “setChannelUrl(options)”Ubah URL manajemen channel.
await updater.setChannelUrl({ url: 'https://my-server.com/channel' });setAppId(options)
Bab berjudul “setAppId(options)”Ubah ID Aplikasi secara waktu eksekusi.
await updater.setAppId({ appId: 'com.example.newapp' });getAppId()
Bab berjudul “getAppId()”Dapatkan ID Aplikasi saat ini.
const appId = await updater.getAppId();Debug
Bab berjudul “Debug”setDebugMenu(options)
Bab berjudul “setDebugMenu(options)”Aktifkan atau nonaktifkan menu debug.
await updater.setDebugMenu({ enabled: true });Mengaktifkan Menu Debug()
Bab yang berjudul “Mengaktifkan Menu Debug()”Periksa apakah menu debug diaktifkan.
const enabled = await updater.isDebugMenuEnabled();Dengarkan event pembaruan menggunakan addListener:
updater.addListener('eventName', (event) => { // Handle event});Event yang Tersedia
Bab yang berjudul “Event yang Tersedia”| Event | Payload | Deskripsi |
|---|---|---|
download | { percent, status } | Progres download diperbarui |
updateAvailable | { bundle } | Update baru tersedia |
noNeedUpdate | { message } | Sudah terupdate |
downloadComplete | { bundle } | Download selesai dengan sukses |
downloadFailed | { bundle, error } | Download gagal |
breakingAvailable | { bundle } | Update tidak kompatibel tersedia (memerlukan update native) |
updateFailed | { bundle, reason } | Pemasangan update gagal |
appReloaded | {} | Aplikasi telah di-reload |
appReady | {} | notifyAppReady() telah dipanggil |
Contoh: Penggunaan Penuh Event
Bab berjudul “Contoh: Penggunaan Penuh Event”// 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);});Opsi Konstruktor
Bab berjudul “Opsi Konstruktor”Opsi konfigurasi lengkap untuk 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)});Teruskan dari Electron Updater API Referensi
Bab berjudul “Teruskan dari Electron Updater API Referensi”Jika Anda menggunakan Referensi Electron Updater API untuk merencanakan dashboard dan API operasi, hubungkannya dengan Menggunakan @capgo/electron-updater untuk kemampuan asli dalam Menggunakan @capgo/electron-updater, Ringkasan API untuk detail implementasi di Ringkasan API Pendahuluan untuk detail implementasi di Pendahuluan Kunci API untuk detail implementasi di Kunci API, dan Perangkat untuk detail implementasi di Perangkat.