Memulai
Instalasi
Section titled “Instalasi”npm install @capgo/capacitor-updaternpx cap syncyarn add @capgo/capacitor-updaternpx cap syncpnpm add @capgo/capacitor-updaternpx cap syncbun add @capgo/capacitor-updaternpx cap syncMulai Cepat
Section titled “Mulai Cepat”Bagi sebagian besar pengguna, sebaiknya ikuti panduan Memulai Cepat utama yang mencakup instalasi plugin dan integrasi cloud Capgo.
Panduan memulai ini berfokus pada detail plugin teknis untuk pengguna tingkat lanjut yang ingin memahami mekanisme dasar atau menerapkan pembaruan yang dihosting sendiri.
Ikhtisar
Section titled “Ikhtisar”Plugin Capacitor Updater memungkinkan pembaruan over-the-air (OTA) untuk aplikasi Capacitor Anda. Hal ini memungkinkan Anda untuk mendorong pembaruan ke aplikasi Anda tanpa melalui ulasan toko aplikasi.
Cara Kerjanya
Section titled “Cara Kerjanya”- Unduhan Paket: Plugin mengunduh paket pembaruan (file ZIP yang berisi aset web Anda)
- Ekstraksi: Kumpulan diekstraksi ke penyimpanan perangkat
- Hot Reload: Aplikasi beralih ke paket baru tanpa perlu memulai ulang
- Fallback: Jika pembaruan gagal, aplikasi akan kembali ke versi kerja sebelumnya
Mode Penggunaan
Section titled “Mode Penggunaan”1. Mode Pembaruan Otomatis (Disarankan)
Section titled “1. Mode Pembaruan Otomatis (Disarankan)”Cara paling sederhana untuk menggunakan plugin dengan manajemen pembaruan otomatis:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Plugin handles everything automatically// Configure in capacitor.config.tsTambahkan ke capacitor.config.ts Anda:
{ plugins: { CapacitorUpdater: { autoUpdate: true, updateUrl: 'https://your-update-server.com/api/updates' } }}2. Modus Manual
Section titled “2. Modus Manual”Untuk kontrol lanjutan atas proses pembaruan:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Download an updateconst bundle = await CapacitorUpdater.download({ url: 'https://your-server.com/updates/v1.0.1.zip', version: '1.0.1'});
// Set the bundle (will be used on next app start)await CapacitorUpdater.set({ id: bundle.id});
// Or reload immediatelyawait CapacitorUpdater.reload();Konfigurasi Platform
Section titled “Konfigurasi Platform”Tidak diperlukan konfigurasi tambahan. Plugin ini berfungsi dengan baik.
Android
Section titled “Android”Tidak diperlukan konfigurasi tambahan. Plugin ini berfungsi dengan baik.
Penggunaan API Dasar
Section titled “Penggunaan API Dasar”Unduh Pembaruan
Section titled “Unduh Pembaruan”import { CapacitorUpdater } from '@capgo/capacitor-updater';
const bundle = await CapacitorUpdater.download({ url: 'https://example.com/update.zip', version: '1.0.1'});
console.log('Downloaded bundle:', bundle.id);Setel Paket Aktif
Section titled “Setel Paket Aktif”// Set bundle to be used on next app startawait CapacitorUpdater.set({ id: bundle.id});Muat ulang dengan Bundel Baru
Section titled “Muat ulang dengan Bundel Baru”// Reload app immediately with new bundleawait CapacitorUpdater.reload();Daftar Paket
Section titled “Daftar Paket”const { bundles } = await CapacitorUpdater.list();console.log('Available bundles:', bundles);Hapus Paket
Section titled “Hapus Paket”await CapacitorUpdater.delete({ id: 'bundle-id'});Dapatkan Paket Saat Ini
Section titled “Dapatkan Paket Saat Ini”const { bundle } = await CapacitorUpdater.current();console.log('Current bundle:', bundle.version);Pendengar Acara
Section titled “Pendengar Acara”Dengarkan acara pembaruan:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Listen for download progressCapacitorUpdater.addListener('download', (info) => { console.log('Download progress:', info.percent);});
// Listen for download completionCapacitorUpdater.addListener('downloadComplete', (bundle) => { console.log('Download complete:', bundle.version);});
// Listen for update failuresCapacitorUpdater.addListener('updateFailed', (error) => { console.error('Update failed:', error);});
// Listen for successful updatesCapacitorUpdater.addListener('updateAvailable', (info) => { console.log('Update available:', info.version);});Opsi Konfigurasi
Section titled “Opsi Konfigurasi”Konfigurasikan plugin di capacitor.config.ts Anda:
{ plugins: { CapacitorUpdater: { // Auto-update settings autoUpdate: true, updateUrl: 'https://api.example.com/updates',
// Update behavior resetWhenUpdate: true, directUpdate: false,
// Version settings version: '1.0.0',
// Security allowModifyUrl: false,
// Stats collection statsUrl: 'https://api.example.com/stats',
// Channel (for Capgo cloud) defaultChannel: 'production' } }}Pola Integrasi
Section titled “Pola Integrasi”Dengan Capgo Awan
Section titled “Dengan Capgo Awan”Cara termudah untuk memulai:
// Install the Capgo CLInpm install -g @capgo/cli
// Login to Capgonpx @capgo/cli login
// Upload your first bundlenpx @capgo/cli bundle upload
// The plugin auto-updates from Capgo cloudLihat panduan Memulai Cepat utama untuk detailnya.
Pembaruan yang Dihosting Sendiri
Section titled “Pembaruan yang Dihosting Sendiri”Host server pembaruan Anda sendiri:
// Configure your update endpoint{ plugins: { CapacitorUpdater: { autoUpdate: true, updateUrl: 'https://your-server.com/api/check-update' } }}Server Anda harus kembali:
{ "version": "1.0.1", "url": "https://your-server.com/updates/1.0.1.zip"}Lihat Mode yang Dihosting Sendiri untuk detail selengkapnya.
Alur Pembaruan Manual
Section titled “Alur Pembaruan Manual”Kontrol penuh atas pembaruan:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
async function checkAndUpdate() { // Check for updates from your server const response = await fetch('https://api.example.com/check-update'); const { version, url } = await response.json();
// Download the update const bundle = await CapacitorUpdater.download({ url, version });
// Notify bundle is ready await CapacitorUpdater.notifyAppReady();
// Set as next version await CapacitorUpdater.set({ id: bundle.id });
// Reload when ready await CapacitorUpdater.reload();}Praktik Terbaik
Section titled “Praktik Terbaik”- Selalu hubungi
notifyAppReady()ketika aplikasi Anda berhasil dimuat - Uji pembaruan secara menyeluruh sebelum mendorong ke produksi
- Menerapkan penanganan kesalahan yang tepat untuk kegagalan jaringan
- Gunakan nomor versi secara konsisten
- Jaga agar ukuran bundel tetap kecil untuk pengunduhan yang lebih cepat
- Pantau tingkat keberhasilan pembaruan
Langkah Selanjutnya- Plugin API Reference - Complete API documentation
Section titled “Langkah Selanjutnya- Plugin API Reference - Complete API documentation”- Plugin Settings - All configuration options
- Events - Available update events
- Self-Hosted Mode - Run your own update server
- Local Development - Test updates locally
- Debugging - Troubleshooting guide
Dukungan
Section titled “Dukungan”- Known Issues - Common problems and solutions
- GitHub Discussions - Community support
- Perselisihan - Obrolan waktu nyata