Migrasi dari Capawesome Cloud ke Capgo
Salin prompt setup yang berisi langkah install dan panduan markdown lengkap untuk plugin ini.
⚡️ Capgo mengotomatiskan channel, pembersihan bundle, rollback, analytics, dan upload CLI secara native. Gunakan panduan ini untuk melakukan langkah minimal yang diperlukan guna migrasi dan opsional membuat ulang custom behaviour yang Anda butuhkan.
Ikhtisar
Bagian berjudul “Ringkasan”- Kumpulkan konfigurasi Capawesome Cloud Anda saat ini (App ID, channel, signing keys, token CLI) agar bisa diarsipkan atau diaudit nanti.
- Install plugin Capgo, hapus SDK Capawesome, dan panggil
CapacitorUpdater.notifyAppReady(). - Konfigurasi behaviour opsional (manual download, pinning bundle, reload) jika Anda mengandalkan flow tersebut saat ini.
Dengan Capgo, Anda hanya perlu menginstall plugin kami dan memanggil CapacitorUpdater.notifyAppReady(). Sisanya—channel, pembersihan bundle, rollback, analytics, dan otomatisasi CLI—ditangani secara native. Bagian di bawah akan memandu setiap tugas secara langsung.
Sebelum memulai
Bagian berjudul “Sebelum Anda memulai”- Pastikan proyek Anda sudah menggunakan Capacitor 5 atau versi terbaru.
- Instal Capgo CLI (
npm install -g @capgo/cli) jika Anda berencana push bundle dari CI/CD.
Langkah 1 – Pasang Capgo dan hapus SDK Capawesome
Bagian berjudul “Langkah 1 – Instal Capgo dan hapus SDK Capawesome”npm uninstall @capawesome/capacitor-live-updatenpm install @capgo/capacitor-updaternpx cap syncItu adalah satu-satunya penggantian wajib. code native dari Capgo sudah termasuk dalam plugin; tidak butuh helper JavaScript tambahan.
Langkah 2 – Konfigurasi minimal
Bagian berjudul “Langkah 2 – Konfigurasi minimal”Setup sebelumnya mengharuskan pemetaan puluhan opsi di capacitor.config. Capgo mengenali proyek Anda secara otomatis, jadi konfigurasi minimalnya seperti ini:
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: true, autoDeletePrevious: true, periodCheckDelay: 10 * 60 * 1000, // optional: check every 10 minutes }, },}
export default configSemua yang tercantum di Capawesome sebagai flag manual (defaultChannel, autoDeleteBundles, kebijakan retensi, dll.) dikelola melalui dashboard Capgo atau API. Anda hanya perlu melakukan override pada key ini jika ingin perilaku yang berbeda dari default Capgo.
Referensi cepat konfigurasi
Bagian berjudul “Referensi cepat konfigurasi”| Opsi Capawesome | Padanan Capgo | Apakah perlu diatur? |
|---|---|---|
appId | Diambil dari dashboard Capgo setelah Anda membuat proyek | Hanya jika Anda menggunakan beberapa proyek dalam satu binary |
defaultChannel | Aturan Channel dikelola di dashboard/API | Opsional; sebagian besar tim mengaturnya di sisi server |
autoDeleteBundles | autoDeletePrevious: true (default) | Sudah aktif |
publicKey | Dikelola di konsol Capgo | Hanya jika Anda merotasi key secara manual |
maxVersions / retensi | Kebijakan retensi bundle | Dikonfigurasi terpusat di Capgo (default 1 bulan, maks 24 bulan) |
Langkah 3 – Panggil notifyAppReady() (satu-satunya hook yang wajib)
Bagian berjudul “Langkah 3 – Panggil notifyAppReady() (satu-satunya hook yang wajib)”Workflow lama memakai custom listener (checkForUpdates(), retryDownload(), menyembunyikan splash screen, dll.). Capgo menjalankan langkah-langkah itu secara native. Satu-satunya API yang wajib Anda panggil adalah:
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()Ini mengonfirmasi bahwa aplikasi berhasil boot. Jika konfirmasi tidak kunjung datang, Capgo otomatis melakukan rollback bundle—tanpa perlu JavaScript tambahan.
Selesai—Capgo menangani pengecekan background, visibilitas splash screen, dan rollback secara native.
Opsional: jalankan logika kustom sebelum splash screen disembunyikan
import { CapacitorUpdater } from '@capgo/capacitor-updater'import { SplashScreen } from '@capacitor/splash-screen'
CapacitorUpdater.addListener('appReady', () => { // Run diagnostics or logging if you need to SplashScreen.hide()})
CapacitorUpdater.notifyAppReady()Langkah 4 – Petakan pemanggilan API (umumnya opsional)
Bagian berjudul “Langkah 4 – Petakan pemanggilan API (sebagian besar opsional)”Di Capgo Anda biasanya membiarkan auto-updater berjalan; API manual tetap tersedia jika Anda ingin kontrol penuh.
| Capawesome Cloud | Padanan Capgo | Apakah Anda membutuhkannya? |
|---|---|---|
LiveUpdate.fetchLatestBundle() | CapacitorUpdater.getLatest() | Hanya saat mengimplementasikan workflow download Anda sendiri |
LiveUpdate.downloadBundle() | CapacitorUpdater.download() | Opsional: native auto-update sudah mengunduh |
LiveUpdate.setNextBundle() | CapacitorUpdater.next() | Opsional: dashboard otomatis menyematkan bundle |
LiveUpdate.reload() | CapacitorUpdater.reload() | Opsional; Capgo mewajibkan bundle setelahnya notifyAppReady() |
LiveUpdate.getCurrentBundle() | CapacitorUpdater.current() | Diagnostik opsional |
Jika Anda tetap menggunakan perilaku native auto-update, Anda bisa menghapus JavaScript Capawesome sepenuhnya.
Contoh kontrol manual
Bagian berjudul “Contoh kontrol manual”Unduh bundle terbaru
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const downloadUpdate = async () => { const latest = await CapacitorUpdater.getLatest() if (latest?.url) { const bundle = await CapacitorUpdater.download({ url: latest.url, version: latest.version, }) console.log('Bundle downloaded', bundle?.id) }}import { LiveUpdate } from '@capawesome/capacitor-live-update'
const downloadUpdate = async () => { const result = await LiveUpdate.fetchLatestBundle() if (result.downloadUrl) { await LiveUpdate.downloadBundle({ bundleId: result.bundleId, url: result.downloadUrl, }) console.log('Bundle downloaded') }}Atur bundle berikutnya
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const setNextBundle = async () => { await CapacitorUpdater.next({ id: 'bundle-id-123' })}import { LiveUpdate } from '@capawesome/capacitor-live-update'
const setNextBundle = async () => { await LiveUpdate.setNextBundle({ bundleId: 'bundle-id-123' })}Terapkan bundle yang diunduh segera
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const applyUpdate = async () => { await CapacitorUpdater.reload()}import { LiveUpdate } from '@capawesome/capacitor-live-update'
const applyUpdate = async () => { await LiveUpdate.reload()}Langkah 5 – Strategi update: bagaimana Capgo menanganinya
Bagian berjudul “Langkah 5 – Strategi update: cara Capgo menanganinya”Capawesome mendokumentasikan tiga strategi. Berikut penjelasannya:
Pembaruan di latar belakang
Bagian berjudul “Background updates”- Workflow sebelumnya: konfigurasikan di code dan jadwalkan download secara manual.
- Capgo: aktif secara default (
autoUpdate: true). Tidak perlu code tambahan.
Selalu versi terbaru
Bagian berjudul “Selalu versi terbaru”- Workflow sebelumnya: tambahkan
App.resumelistener, panggildownload, laluset. - Capgo: auto-update di background sudah melakukan pengecekan setelah resume. Anda hanya butuh manual listener jika ingin interval kustom.
Opsional: pengecekan resume manual
import { App } from '@capacitor/app'import { CapacitorUpdater } from '@capgo/capacitor-updater'
App.addListener('resume', async () => { const latest = await CapacitorUpdater.getLatest() if (latest?.url) { const downloaded = await CapacitorUpdater.download({ url: latest.url, version: latest.version, }) if (downloaded) { await CapacitorUpdater.next({ id: downloaded.id }) } }})Paksa update
Bagian berjudul “Force update”- Workflow sebelumnya: hubungkan logika prompt dan paksa reload.
- Capgo: tandai bundle sebagai “mandatory” di dashboard, lalu dengarkan
majorAvailableevent (diterbitkan setelahnotifyAppReady()) untuk mewajibkan pengguna upgrade di dalam aplikasi Anda.
Langkah 6 – Deploy bundle
Bagian berjudul “Langkah 6 – Deploying bundles”Jika sebelumnya Anda mengandalkan capawesome live-update deploy, Capgo menawarkan workflow CLI yang serupa, dan Anda juga bisa mengotomatiskan deployment sepenuhnya via API.
# Authenticate once (stores a token in your CI environment)capgo login
# Upload a new bundle (auto-detects platform/version)capgo bundle upload --path dist --channel productionKarena Capgo melacak kesehatan bundle secara otomatis, Anda juga mendapatkan:
- Audit logs tingkat perangkat untuk setiap instalasi.
- Retensi otomatis (default satu bulan) dengan limit yang bisa dikonfigurasi hingga 24 bulan.
- Metrik latensi real-time di status.capgo.app/riwayat.
Timeline migrasi
Bagian berjudul “Timeline migrasi”- Inventaris & instalasi: 10 menit (
npm install, hapus plugin lama). - Konfigurasi & kesiapan: 5 menit (
notifyAppReady). - Cek sanity: 15 menit (tes manual atau listener opsional).
- Deployment pertama: 10 menit dengan Capgo CLI atau integrasi CI.
Pada praktiknya, tim selesai dalam waktu kurang dari satu jam. Jika Anda memberikan detail proyek Capawesome, kami bahkan bisa mengimpor channel dan daftar perangkat untuk Anda.
dukungan Capgo
Bagian berjudul “Dukungan Capgo”- Pendamping migrasi: jadwalkan sesi di book.capgo.app/demo.
- Komunitas: bergabung dengan Discord Capgo.
- Pelacak issue: github.com/Cap-go/capacitor-updater/issues.
Capgo dibangun untuk keandalan jangka panjang: update delta native, bundle terenkripsi, rollback otomatis, dan analytics tanpa perlu custom JavaScript. Setelah migrasi, Anda bisa menghapus glue code yang merepotkan dan membiarkan platform menjalankan update secara otomatis.
Lanjutkan: Migrasi dari Capawesome Cloud ke Capgo
Bagian berjudul “Lanjutkan dari Migrasi Capawesome Cloud ke Capgo”Jika Anda menggunakan Migrasi dari Capawesome Cloud ke Capgo untuk merencanakan otomatisasi CI/CD, hubungkan dengan CI/CD Capgo untuk workflow produk di Capgo CI/CD, Capgo Native Build untuk workflow produk di Capgo Native Builds, Integrasi Capgo untuk alur kerja produk di Integrasi Capgo, Integrasi CI/CD untuk detail implementasi di Integrasi CI/CD, dan Integrasi GitHub Actions untuk detail implementasi di Integrasi GitHub Actions.