Langsung ke konten

Migrasi dari Capawesome Cloud ke Capgo

⚡️ 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.

  1. Kumpulkan konfigurasi Capawesome Cloud Anda saat ini (App ID, channel, signing keys, token CLI) agar bisa diarsipkan atau diaudit nanti.
  2. Install plugin Capgo, hapus SDK Capawesome, dan panggil CapacitorUpdater.notifyAppReady().
  3. 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.

  • 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”
Jendela terminal
npm uninstall @capawesome/capacitor-live-update
npm install @capgo/capacitor-updater
npx cap sync

Itu adalah satu-satunya penggantian wajib. code native dari Capgo sudah termasuk dalam plugin; tidak butuh helper JavaScript tambahan.

Setup sebelumnya mengharuskan pemetaan puluhan opsi di capacitor.config. Capgo mengenali proyek Anda secara otomatis, jadi konfigurasi minimalnya seperti ini:

capacitor.config.ts
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 config

Semua 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.

Opsi CapawesomePadanan CapgoApakah perlu diatur?
appIdDiambil dari dashboard Capgo setelah Anda membuat proyekHanya jika Anda menggunakan beberapa proyek dalam satu binary
defaultChannelAturan Channel dikelola di dashboard/APIOpsional; sebagian besar tim mengaturnya di sisi server
autoDeleteBundlesautoDeletePrevious: true (default)Sudah aktif
publicKeyDikelola di konsol CapgoHanya jika Anda merotasi key secara manual
maxVersions / retensiKebijakan retensi bundleDikonfigurasi 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()

Di Capgo Anda biasanya membiarkan auto-updater berjalan; API manual tetap tersedia jika Anda ingin kontrol penuh.

Capawesome CloudPadanan CapgoApakah 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.

Unduh bundle terbaru

Capgo
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)
}
}
Capawesome Cloud
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

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const setNextBundle = async () => {
await CapacitorUpdater.next({ id: 'bundle-id-123' })
}
Capawesome Cloud
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const setNextBundle = async () => {
await LiveUpdate.setNextBundle({ bundleId: 'bundle-id-123' })
}

Terapkan bundle yang diunduh segera

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const applyUpdate = async () => {
await CapacitorUpdater.reload()
}
Capawesome Cloud
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.
  • Workflow sebelumnya: tambahkan App.resume listener, panggil download, lalu set.
  • 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 })
}
}
})
  • Workflow sebelumnya: hubungkan logika prompt dan paksa reload.
  • Capgo: tandai bundle sebagai “mandatory” di dashboard, lalu dengarkan majorAvailable event (diterbitkan setelah notifyAppReady()) untuk mewajibkan pengguna upgrade di dalam aplikasi Anda.

Jika sebelumnya Anda mengandalkan capawesome live-update deploy, Capgo menawarkan workflow CLI yang serupa, dan Anda juga bisa mengotomatiskan deployment sepenuhnya via API.

Jendela terminal
# 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 production

Karena 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.
  • 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.

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.