Referensi Pembaruan Electron API
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Halaman ini mendokumentasikan semua metode, event, dan opsi pengaturan yang tersedia untuk Pembarui Electron.
Metode Utama
Judul bagian “Metode Utama”notifyAppReady()
Bagian berjudul “notifyAppReady()”Wajib dipanggil pada setiap peluncuran aplikasi. Mengkonfirmasi bahwa bundle telah dimuat dengan sukses dan mencegah rollback otomatis.
await updater.notifyAppReady();download(options)
Bagian berjudul “download(options)”Unduh bundle dari 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 | Tipe | Wajib | Deskripsi |
|---|---|---|---|
url | string | Ya | URL untuk mengunduh bundle dari |
version | string | Ya | Identifikasi versi untuk bundle |
checksum | string | Tidak | SHA256 untuk verifikasi |
sessionKey | string | Tidak | Kunci sesi untuk bundle yang dienkripsi |
Returns: BundleInfo objek dengan id, version, status
next(options)
Judul bagian “next(options)”Antrian bundle untuk dimuat pada restart aplikasi selanjutnya.
await updater.next({ id: 'bundle-id' });Parameter:
| Opsi | Tipe | Wajib | Deskripsi |
|---|---|---|---|
id | string | Iya | ID Paket untuk antrian |
set(options)
Bab berjudul “set(options)”Langsung beralih ke paket dan muat ulang aplikasi.
await updater.set({ id: 'bundle-id' });Parameter:
| Opsi | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
id | string | Iya | ID Paket untuk mengaktifkan |
reload()
Bab berjudul “reload()”Memulai ulang aplikasi secara manual dengan paket saat ini.
await updater.reload();delete(options)
Bagian berjudul “delete(options)”Hapus sebuah bundle dari penyimpanan.
await updater.delete({ id: 'bundle-id' });Parameter:
| Pilihan | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
id | string | Ya | ID Bundle untuk dihapus |
reset(options)
Bagian berjudul “reset(options)”Reset ke versi bawaan atau bundle terakhir yang sukses.
// Reset to builtinawait updater.reset({ toLastSuccessful: false });
// Reset to last successful bundleawait updater.reset({ toLastSuccessful: true });Parameter:
| Pilihan | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
toLastSuccessful | boolean | Tidak | Jika true, reset ke bundle terakhir yang sukses bukan versi bawaan |
Informasi Bundle
Informasi Paketcurrent()
Section titled “current()”Dapatkan informasi tentang paket saat ini dan versi native.
const info = await updater.current();// { bundle: { id, version, status }, native: '1.0.0' }list(options)
Section titled “list(options)”Daftar semua paket yang diunduh.
const bundles = await updater.list();// [{ id, version, status, downloaded, checksum }, ...]getNextBundle()
Section titled “getNextBundle()”Dapatkan paket yang akan dijalankan setelah restart.
const next = await updater.getNextBundle();// { id, version, status } or nullgetFailedUpdate()
Judul Bagian “getFailedUpdate()”Dapatkan informasi tentang update terakhir yang gagal (bermanfaat untuk debugging rollback).
const failed = await updater.getFailedUpdate();// { id, version, reason } or nullgetBuiltinVersion()
Judul Bagian “getBuiltinVersion()”Dapatkan versi yang dikirimkan bersama dengan file biner aplikasi.
const version = await updater.getBuiltinVersion();// '1.0.0'Pemeriksaan Update
Judul Bagian “Pemeriksaan Update”getLatest(options)
Bagian berjudul “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 Unduh (kosong jika tidak ada update) |
version | string | Versi yang tersedia |
checksum | string | Checksum SHA256 |
sessionKey | string | Kunci enkripsi sesi |
error | string | Pesan kesalahan jika cek gagal |
message | string | Pesan server |
Manajemen Channel
Judul bagian “Manajemen Channel”setChannel(options)
Judul bagian “setChannel(options)”Tetapkan perangkat ke saluran tertentu.
await updater.setChannel({ channel: 'beta' });unsetChannel(options)
Judul Bagian “unsetChannel(options)”Menghapus pengaturan saluran dan menggunakan default.
await updater.unsetChannel();getChannel()
Judul Bagian “getChannel()”Dapatkan pengaturan saluran yang sedang digunakan.
const channel = await updater.getChannel();// { channel: 'production', status: 'set' }listChannels()
Judul Bagian “listChannels()”Tampilkan semua saluran yang tersedia untuk aplikasi ini.
const channels = await updater.listChannels();// ['production', 'beta', 'staging']Kondisi Delay
Bagian berjudul “Kondisi Delay”Kontrol kapan update yang diunduh diterapkan.
setMultiDelay(options)
Bagian berjudul “setMultiDelay(options)”Atur kondisi yang harus dipenuhi sebelum update 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 Kondisi Delay:
| Jenis | Nilai | Deskripsi |
|---|---|---|
background | Durasi opsional (ms) | Tunggu aplikasi menjadi background |
kill | - | Tunggu aplikasi dihancurkan dan dihidupkan kembali |
date | String tanggal ISO | Tunggu tanggal/ketika spesifik |
nativeVersion | String versi | Tunggu update aplikasi native |
cancelDelay()
Judul bagian “cancelDelay()”Hapus semua kondisi delay dan terapkan update segera pada cek berikutnya.
await updater.cancelDelay();Identifikasi Perangkat
Bagian berjudul “Identifikasi Perangkat”getDeviceId()
Bagian berjudul “getDeviceId()”Dapatkan identifikasi unik perangkat.
const deviceId = await updater.getDeviceId();// 'uuid-xxxx-xxxx-xxxx'setCustomId(options)
Bagian berjudul “setCustomId(options)”Tetapkan identifikasi khusus untuk perangkat (bermanfaat untuk analisis).
await updater.setCustomId({ customId: 'user-123' });Konfigurasi
Bagian berjudul “Konfigurasi”setUpdateUrl(options)
Bagian berjudul “setUpdateUrl(options)”Ubah 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)
Bagian berjudul “setChannelUrl(options)”Ubah URL manajemen saluran.
await updater.setChannelUrl({ url: 'https://my-server.com/channel' });setAppId(options)
Bagian berjudul “setAppId(options)”Ubah ID Aplikasi pada waktu runtime.
await updater.setAppId({ appId: 'com.example.newapp' });getAppId()
Bagian berjudul “getAppId()”Ambil ID Aplikasi saat ini.
const appId = await updater.getAppId();setDebugMenu(options)
Bagian berjudul “setDebugMenu(options)”Aktifkan atau nonaktifkan menu debug.
await updater.setDebugMenu({ enabled: true });isDebugMenuEnabled()
Bagian berjudul “isDebugMenuEnabled()”Periksa apakah menu debug sudah diaktifkan.
const enabled = await updater.isDebugMenuEnabled();Event
Judul Bagian “Event”Dengarkan event pembaruan menggunakan addListener:
updater.addListener('eventName', (event) => { // Handle event});Event yang Tersedia
Judul Bagian “Event yang Tersedia”| Event | Payload | Deskripsi |
|---|---|---|
download | { percent, status } | Pembaruan Unduhan |
updateAvailable | { bundle } | Ada Pembaruan Baru |
noNeedUpdate | { message } | Sudah terupdate |
downloadComplete | { bundle } | Pembuatan download berhasil |
downloadFailed | { bundle, error } | Pembuatan download gagal |
breakingAvailable | { bundle } | Update yang tidak kompatibel tersedia (memerlukan update asli) |
updateFailed | { bundle, reason } | Pembuatan instalasi update gagal |
appReloaded | {} | Aplikasi telah di-reload |
appReady | {} | notifyAppReady() dipanggil |
Contoh: Pengaturan Penuh Event
Judul Bagian “Contoh: Pengaturan 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
Judul Bagian “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
Judul bagian 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 dalam Ringkasan API Pendahuluan untuk detail implementasi di Pengenalan, API Kunci untuk detail implementasi di API Kunci, dan Perangkat untuk detail implementasi di Perangkat.