Migrate dari Capawesome Cloud ke Capgo
Copas prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
⚡️ Capgo otomatisasi saluran, penghapusan bundle, rollback, analisis, dan CLI unggah natively. Gunakan panduan ini untuk melakukan langkah-langkah minimal yang diperlukan untuk migrasi dan secara optional mengembalikan perilaku kustom yang masih dibutuhkan.
Ringkasan
Judul: “Pendahuluan”- Kumpulkan konfigurasi Cloud Capawesome yang sudah ada (ID Aplikasi, saluran, kunci tanda tangan, token CLI ) agar Anda bisa menyimpan atau memeriksa ulangnya nanti.
- Instal plugin Capgo , hapus Capawesome SDK , dan panggil
CapacitorUpdater.notifyAppReady(). - Konfigurasi perilaku opsional (download manual, pin bundle, reload) jika Anda bergantung pada aliran tersebut saat ini.
Dengan Capgo Anda hanya perlu menginstal plugin kami dan panggil CapacitorUpdater.notifyAppReady()Semua hal lainnya—pengelolaan saluran, pembersihan paket, pengembalian, analisis, dan otomatisasi CLI—ditangani secara native. Bagian-bagian di bawah ini menjelaskan setiap tugas secara langsung.
Sebelum Anda memulai
Judul: “Sebelum Anda memulai”- Pastikan proyek Anda sudah menggunakan Capacitor 5 atau lebih baru.
- Instal Capgo CLI (
npm install -g @capgo/cliJika Anda berencana untuk mengirimkan bundle dari CI/CD.
Judul: “Langkah 1 – Instal Capgo dan hapus Capawesome SDK”
Judul Bagian “Langkah 1 – Pasang Capgo dan hapus SDK Capawesome”npm uninstall @capawesome/capacitor-live-updatenpm install @capgo/capacitor-updaternpx cap syncPerubahan tersebut adalah satu-satunya yang wajib. Capgo memiliki code asli yang dipasang bersama plugin; tidak ada bantuan JavaScript tambahan yang diperlukan.
Langkah 2 – Konfigurasi Minimal
Judul Bagian “Langkah 2 – Konfigurasi Minimal”Konfigurasi sebelumnya memerlukan pemetaan puluhan opsi dalam capacitor.config. Capgo dapat mengenali proyek Anda secara otomatis, sehingga konfigurasi minimal 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 Capawesome sebutkan sebagai flag manual (defaultChannel, autoDeleteBundles, kebijakan penyimpanan, dll.) dapat diatur melalui dashboard Capgo atau API. Anda hanya perlu mengganti kunci ini jika Anda ingin perilaku yang berbeda dari Capgo default.
Referensi Konfigurasi Cepat
Judul Bagian “Referensi Konfigurasi Cepat”| Opsi Capawesome | Setaraan Capgo | Apakah Anda Perlu Mengaturnya? |
|---|---|---|
appId | Diperoleh dari Dashboard Capgo setelah Anda Membuat Proyek | Hanya jika Anda Menggunakan Proyek Berbeda dalam Satu Eksekutor |
defaultChannel | Aturan Channel yang Dikelola di Dashboard/API | Opsional; Banyak Tim yang Mengatur Ini Secara Server-Side |
autoDeleteBundles | autoDeletePrevious: true (default) | Sudah Diaktifkan |
publicKey | Dikelola di Konsol Capgo | Hanya jika Anda memutar kunci secara manual |
maxVersions / penyimpanan | Kebijakan penyimpanan bundle | Ditentukan secara sentral di Capgo (1 bulan default, 24 bulan maksimum) |
Langkah 3 – Panggil notifyAppReady() (Hook yang diperlukan satu-satunya)
Langkah 3 – Panggil notifyAppReady() (hanya hook yang diperlukan)Dalam alur kerja lama, diperkenalkan pemangku pendengar kustom ("checkForUpdates(), retryDownload()menghilangkan layar splash, dll.). Capgo melakukan langkah-langkah tersebut secara native. Satu-satunya API yang harus Anda panggil adalah:
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()This confirms the app booted successfully. If the confirmation never arrives, Capgo automatically rolls back the bundle—no extra JavaScript needed.
That’s it—Capgo handles background checks, splash visibility, and rollbacks natively.
Opsional: jalankan logika kustom sebelum layar splash 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 – Peta panggilan API (hampir opsional)
Bagian berjudul “Langkah 4 – Peta panggilan API (hampir opsional)”Pada Capgo Anda biasanya membiarkan pembaruan otomatis berjalan; API manual tetap tersedia jika Anda ingin memiliki kendali penuh.
| Capawesome Cloud | Capgo setara | Apakah Anda membutuhkannya? |
|---|---|---|
LiveUpdate.fetchLatestBundle() | CapacitorUpdater.getLatest() | Hanya ketika mengimplementasikan alur download sendiri |
LiveUpdate.downloadBundle() | CapacitorUpdater.download() | Opsional: pembaruan otomatis native sudah mengunduh |
LiveUpdate.setNextBundle() | CapacitorUpdater.next() | Opsional: dashboard pin bundle secara otomatis |
LiveUpdate.reload() | CapacitorUpdater.reload() | Opsional; Capgo memaksa bundle wajib setelah notifyAppReady() |
LiveUpdate.getCurrentBundle() | CapacitorUpdater.current() | Opsi diagnostik opsional |
Jika Anda tetap menggunakan perilaku auto-update asli, Anda dapat menghapus JavaScript Capawesome secara keseluruhan.
Contoh pengendalian manual
Judul bagian “Contoh pengendalian 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') }}Pilih 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' })}Aplikasikan bundle yang diunduh secara langsung
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()}Strategi Perbarui: Bagaimana Capgo Menghadapinya
"Bagian berjudul "Langkah 5 – Strategi pembaruan: bagaimana Capgo mengelola mereka""Capawesome menjelaskan tiga strategi. Berikut ini bagaimana mereka diadaptasi:
Pembaruan Latar Belakang
Bagian berjudul “Pembaruan Latar Belakang”- Alur sebelumnya: Konfigurasi di code dan jadwalkan download secara manual.
- CapgoDapat diaktifkan secara default ("
autoUpdate: trueTidak diperlukan tambahan code apa pun.
). Tidak diperlukan __CAPGO_KEEP_0__ tambahan.
Terus Mencari Versi Terbaru- Alur sebelumnyaTambahkan sebuah
App.resume: Tambahkan sebuahdownload, thenset. - Capgobackground auto-update sudah melakukan pengecekan setelah resume. Anda hanya memerlukan listener manual jika ingin interval yang dapat disesuaikan.
Opsi: 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 }) } }})Perbarui paksa
Judul Bagian: Perbarui Paksa- Alur sebelumnya: wire prompt logika dan memastikan reload.
- Capgomengindikasikan paket sebagai “wajib” di dashboard, kemudian mendengarkan event (diterbitkan setelah
majorAvailableevent (diterbitkan setelah)notifyAppReady()Untuk meminta pengguna untuk mengupgrade di dalam aplikasi mereka.
Langkah 6 – Mengaktifkan Paket
Judul bagian “Langkah 6 – Mengembangkan paket”Jika Anda sebelumnya bergantung pada capawesome live-update deploy, Capgo menawarkan alur kerja yang sama seperti CLI, dan Anda juga dapat mengautomasi pengembangan secara keseluruhan melalui 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 secara otomatis mengikuti kesehatan paket, Anda juga mendapatkan:
- Log audit perangkat untuk setiap instalasi.
- Penghapusan otomatis (satu bulan secara default) dengan batasan yang dapat disesuaikan hingga 24 bulan.
- Metrik latency waktu nyata di status.capgo.app/history.
Jadwal migrasi
Judul bagian “Jadwal migrasi”- Inventory & instalasi: 10 menit (
npm install, hapus plugin lama). - Konfigurasi & kesiapan: 5 menit (
notifyAppReady). - Pemeriksaan kesadaran: 15 menit (uji coba manual atau pengaturan pendengar).
- Deployan pertama10 menit dengan Capgo CLI atau integrasi CI.
Dalam prakteknya, tim dapat menyelesaikan dalam waktu kurang dari satu jam. Jika Anda menyediakan detail proyek Capawesome, kami bahkan dapat mengimpor saluran dan daftar perangkat untuk Anda.
Capgo support
Capgo dukungan teknis- Migrasi konduktor: buatlah sesi di Buku.capgo.app/demo.
- Masyarakatcontext Capgo Discord.
- : bergabunglah dengan: github.com/Cap-go/capacitor-updater/issues.
Capgo is built for long-term reliability: native delta updates, encrypted bundles, automatic rollbacks, and analytics that do not require custom JavaScript. Once you migrate you can delete the maintenance-heavy glue and let the platform run updates automatically.
Capgo.com/Cap-go/__CAPGO_KEEP_1__-updater/issues
Section titled “Keep going from Migrate from Capawesome Cloud to Capgo”Teruskan dari Migrate dari Capawesome Cloud ke __CAPGO_KEEP_0__ Migrate from Capawesome Cloud to Capgo untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Capgo CI/CD untuk alur kerja produk dalam Capgo CI/CD, Buat Capgo Build Natively untuk alur kerja produk dalam Capgo Pembangunan Asli Capgo Integrations untuk alur kerja produk di Capgo Integrations, Integrasi CI/CD untuk detail implementasi di Integrasi CI/CD, dan GitHub Actions Integration Untuk detail implementasi di GitHub Integrasi Aksi.