Lompat ke konten

Getting Started

GitHub

Anda dapat menggunakan Pengaturan AI Bantu untuk menginstal plugin. Tambahkan Capgo kemampuan ke alat AI Anda menggunakan perintah berikut:

Jendela terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Lalu gunakan prompt berikut:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-updater` plugin in my project.

Jika Anda lebih suka Manual Setup, instal plugin dengan menjalankan perintah-perintah berikut dan ikuti instruksi spesifik platform di bawah ini:

Jendela Terminal
bun add @capgo/capacitor-updater
bunx cap sync

Bagi pengguna kebanyakan, kami merekomendasikan mengikuti panduan Quickstart utama yang mencakup baik instalasi plugin dan Capgo integrasi cloud.

Panduan ini membahas detail teknis plugin untuk pengguna lanjutan yang ingin memahami mekanisme dasar atau mengimplementasikan pembaruan self-hosted.

Pengatur Capacitor Updater memungkinkan pembaruan perangkat keras (OTA) untuk aplikasi Capacitor Anda.

Bagaimana Cara Kerjanya

Pengunduhan Paket
  1. : Plugin mengunduh paket pembaruan (file ZIP yang berisi aset web Anda)Ekstraksi
  2. : Paket diekstrak ke penyimpanan perangkatHot Reload
  3. : Aplikasi beralih ke paket baru tanpa memerlukan restartFallback
  4. : Jika pembaruan gagal, aplikasi kembali ke versi yang berfungsi sebelumnyaMode Penggunaan

Cara termudah untuk menggunakan plugin dengan manajemen perbarui otomatis:

import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Plugin handles everything automatically
// Configure in capacitor.config.ts

Tambahkan ke capacitor.config.ts:

{
plugins: {
CapacitorUpdater: {
autoUpdate: 'atBackground',
updateUrl: 'https://your-update-server.com/api/updates'
}
}
}

Untuk kendali lanjutan atas proses perbarui:

import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Download an update
const 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 immediately
await CapacitorUpdater.reload();

Konfigurasi Platform

Konfigurasi Platform

Tidak perlu konfigurasi tambahan. Plugin ini berfungsi secara otomatis.

Tidak perlu konfigurasi tambahan. Plugin ini berfungsi secara otomatis.

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);
// Set bundle to be used on next app start
await CapacitorUpdater.set({
id: bundle.id
});
// Reload app immediately with new bundle
await CapacitorUpdater.reload();
const { bundles } = await CapacitorUpdater.list();
console.log('Available bundles:', bundles);
await CapacitorUpdater.delete({
id: 'bundle-id'
});
const { bundle } = await CapacitorUpdater.current();
console.log('Current bundle:', bundle.version);

Tetapkan untuk mendengar peristiwa pembaruan:

import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Listen for download progress
CapacitorUpdater.addListener('download', (info) => {
console.log('Download progress:', info.percent);
});
// Listen for download completion
CapacitorUpdater.addListener('downloadComplete', (bundle) => {
console.log('Download complete:', bundle.version);
});
// Listen for update failures
CapacitorUpdater.addListener('updateFailed', (error) => {
console.error('Update failed:', error);
});
// Listen for successful updates
CapacitorUpdater.addListener('updateAvailable', (info) => {
console.log('Update available:', info.version);
});

Konfigurasi plugin di dalam capacitor.config.ts:

{
plugins: {
CapacitorUpdater: {
// Auto-update settings
autoUpdate: 'atBackground',
updateUrl: 'https://api.example.com/updates',
// Update behavior
resetWhenUpdate: true,
// Version settings
version: '1.0.0',
// Security
allowModifyUrl: false,
// Stats collection
statsUrl: 'https://api.example.com/stats',
// Channel (for Capgo cloud)
defaultChannel: 'production'
}
}
}

Polanya Integrasi

Pola Integrasi

Cara Termudah untuk Mulai:

// Install the Capgo CLI
bun add -g @capgo/cli
// Login to Capgo
npx @capgo/cli login
// Upload your first bundle
npx @capgo/cli bundle upload
// The plugin auto-updates from Capgo cloud

Lihat Panduan Quickstart Utama untuk detailnya.

Tetapkan Pembaruan Server Anda Sendiri:

// Configure your update endpoint
{
plugins: {
CapacitorUpdater: {
autoUpdate: 'atBackground',
updateUrl: 'https://your-server.com/api/check-update'
}
}
}

Server Anda harus mengembalikan:

{
"version": "1.0.1",
"url": "https://your-server.com/updates/1.0.1.zip"
}

Lihat Mode Dibawakan Sendiri untuk detail lengkap.

Kontrol lengkap atas perbaruan:

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();
}
  • Selalu panggil notifyAppReady() ketika aplikasi Anda sukses dimuat
  • Testkan perbaruan secara menyeluruh sebelum memasukkannya ke produksi
  • Implementasikan penanganan kesalahan yang tepat untuk kegagalan jaringan
  • Gunakan nomor versi secara konsisten
  • Tetapkan ukuran bundle kecil untuk download yang lebih cepat
  • Monitorlah tingkat kesuksesan perbaruan

Jika Anda menggunakan Getting Started untuk merencanakan pekerjaan plugin native, hubungkan dengan Menggunakan @capgo/capacitor-pembaruan untuk kemampuan native di Menggunakan @capgo/capacitor-pembaruan, Direktori Plugin Capgo untuk alur kerja produk di Direktori Plugin Capgo Plugin-Plugin Capacitor oleh Capgo untuk detail implementasi di Plugin-Plugin Capacitor oleh Capgo, Menambahkan atau Mengupdate Plugin untuk detail implementasi di Menambahkan atau Mengupdate Plugin, dan Alternatif Plugin Enterprise Ionic untuk alur kerja produk di Alternatif Plugin Enterprise Ionic.