Langsung ke konten

CLI Panduan Orientasi

Capgo CLI menyediakan orientasi interaktif yang menyiapkan pembaruan langsung untuk aplikasi Capacitor Anda. Anda akan:

  1. ✅ Daftarkan aplikasi Anda di Capgo
  2. 🔌 Instal dan konfigurasikan plugin pembaru
  3. 🚀 Terapkan pembaruan langsung pertama Anda
  4. 📱 Uji pembaruan pada perangkat Anda

Perkiraan waktu: 10-20 menit (bervariasi berdasarkan kecepatan internet dan waktu pembuatan)

Jalankan perintah orientasi dengan kunci API Anda:

Terminal window
npx @capgo/cli@latest init [APIKEY]

Anda akan melihat pesan selamat datang:

Capgo onboarding 🛫

CLI akan memandu Anda melalui 13 langkah interaktif:

Fase Penyiapan (Langkah 1-6):

  • Periksa lingkungan pengembangan Anda (Xcode/Android Studio)
  • Tambahkan aplikasi Anda ke Capgo dan buat saluran produksi
  • Instal plugin @capgo/capacitor-updater
  • Suntikkan kode yang diperlukan ke dalam aplikasi Anda
  • Secara opsional mengaktifkan enkripsi ujung ke ujung
  • Pilih platform untuk pengujian (iOS atau Android)

Fase Pengujian (Langkah 7-12):

  • Bangun aplikasi Anda dan jalankan di perangkat/simulator
  • Buat perubahan kode yang terlihat (otomatis atau manual)
  • Unggah bundel yang diperbarui ke Capgo
  • Lihat pembaruan langsung yang muncul di perangkat Anda secara real-time

Penyelesaian (Langkah 13):

  • Aplikasi Anda siap untuk pembaruan langsung! 🎉

CLI memeriksa lingkungan pengembangan Anda untuk memastikan Anda telah menginstal alat yang diperlukan.

Yang diperiksa:

  • Xcode (khusus macOS) - untuk pengembangan iOS
  • Android SDK - untuk pengembangan Android

Kemungkinan hasil:

Kedua lingkungan ditemukan:

✅ Xcode detected - iOS development ready
✅ Android SDK detected - Android development ready

⚠️ Tidak ditemukan lingkungan:

⚠️ Xcode not found
⚠️ Android SDK not found
❌ No development environment detected
📱 To develop mobile apps with Capacitor, you need:
• For iOS: Xcode (macOS only) - https://developer.apple.com/xcode/
• For Android: Android Studio - https://developer.android.com/studio

Pertanyaan yang mungkin ditanyakan kepada Anda:

CLI akan memasukkan Anda ke Capgo dan menambahkan aplikasi ke akun Anda.

(spinner) Running: npm @capgo/cli@latest login ***
Login Done ✅
❓ Add {appId} in Capgo?

Jika ID aplikasi Anda sudah dipakai:

CLI akan menyarankan alternatif:

❌ App ID "com.example.app" is already taken
💡 Here are some suggestions:
1. com.example.app2
2. com.example.app3
3. com.example.app.new
4. com.example.app.app
❓ What would you like to do?

Anda dapat memilih saran atau memasukkan ID aplikasi khusus.

Saluran memungkinkan Anda mengelola aliran pembaruan yang berbeda untuk aplikasi Anda.

❓ Create default channel production for {appId} in Capgo?

Jika Anda memilih Ya:

(spinner) Running: npm @capgo/cli@latest channel add production {appId} --default
Channel add Done ✅ (or "Channel already added ✅")

Saluran produksi akan dibuat dan ditetapkan sebagai default. Ini adalah opsi yang direkomendasikan bagi sebagian besar pengguna.

Jika Anda memilih Tidak:

If you change your mind, run it for yourself with: "npm @capgo/cli@latest channel add production {appId} --default"

Anda harus membuat dan mengonfigurasi saluran secara manual nanti. Alternatifnya, Anda dapat:

  • Atur saluran di file capacitor.config.ts Anda
  • Gunakan metode JavaScript setChannel() untuk mengatur saluran secara dinamis
  • Konfigurasikan saluran nanti dari konsol web Capgo

CLI akan menginstal plugin @capgo/capacitor-updater yang kompatibel dengan versi Capacitor Anda.

❓ Automatic Install "@capgo/capacitor-updater" dependency in {appId}?

Kompatibilitas versi:

  • Capacitor 5: Menginstal @capgo/capacitor-updater v5
  • Capacitor 6: Menginstal @capgo/capacitor-updater v6
  • Capacitor 7: Menginstal @capgo/capacitor-updater v7
  • Capacitor 8+: Menginstal versi terbaru

Opsi pembaruan instan:

Setelah instalasi, Anda akan ditanya:

❓ Do you want to set instant updates in {appId}?
Read more: https://capgo.app/docs/live-updates/update-behavior/#applying-updates-immediately

Jika Anda memilih Ya:

  • Pembaruan akan dikonfigurasi untuk diterapkan segera ketika aplikasi berada di latar belakang dan dibuka kembali
  • directUpdate: 'always' dan autoSplashscreen: true akan ditambahkan ke konfigurasi Anda
  • capacitor.config.ts Anda akan diperbarui secara otomatis
  • Pembaruan Delta akan diaktifkan secara otomatis - ini hanya mengirimkan file yang berubah di antara pembaruan, bukan paket lengkap, sehingga pembaruan menjadi jauh lebih cepat

Jika Anda memilih Tidak:

  • Pembaruan akan menggunakan perilaku standar (unduh di latar belakang, terapkan saat restart berikutnya)
  • Anda selalu dapat mengaktifkan pembaruan instan nanti dengan memodifikasi capacitor.config.ts Anda

CLI akan secara otomatis memasukkan kode yang diperlukan ke dalam file aplikasi utama Anda.

❓ Automatic Add "CapacitorUpdater.notifyAppReady()" code and import in {appId}?

Apa yang ditambahkan:

import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()

Deteksi jenis proyek:

  • Nuxt.js: Membuat plugins/capacitorUpdater.client.ts
  • Kerangka kerja lainnya: Menambahkan ke file entri utama Anda

Enkripsi ujung ke ujung menambahkan lapisan keamanan ekstra untuk pembaruan Anda.

🔐 End-to-end encryption
✅ Use this for: Banking, healthcare, or apps with legal encryption requirements
⚠️ Note: Makes debugging harder - skip if you don't need it
❓ Enable end-to-end encryption for {appId} updates?

Jika Anda mengaktifkan enkripsi, CLI akan:

  1. Hasilkan kunci enkripsi
  2. Tawarkan untuk menyinkronkan konfigurasi Capacitor Anda

Pilih platform mana yang akan diuji selama orientasi.

📱 Platform selection for onboarding
This is just for testing during onboarding - your app will work on all platforms
❓ Which platform do you want to test with during this onboarding?
Options:
- iOS
- Android

CLI akan membuat aplikasi Anda dan menyinkronkannya dengan Capacitor.

❓ Automatic build {appId} with "npm run build"?

Apa yang terjadi:

  1. Mendeteksi jenis proyek Anda
  2. Jalankan skrip build Anda
  3. Jalankan npx cap sync {platform}

Jika skrip build tidak ada:

Anda akan ditanya apakah ingin melewati build atau menambahkan skrip build ke package.json Anda.

Uji versi awal aplikasi Anda di perangkat atau simulator.

❓ Run {appId} on {PLATFORM} device now to test the initial version?

Jika Anda memilih Ya:

(spinner) Running: npx cap run {platform}
(device picker appears)
App started ✅
📱 Your app should now be running on your {platform} device with Capgo integrated
🔄 This is your baseline version - we'll create an update next

Sekarang saatnya menguji sistem pembaruan Capgo dengan membuat perubahan yang terlihat.

🎯 Now let's test Capgo by making a visible change and deploying an update!
❓ How would you like to test the update?
Options:
- Auto: Let Capgo CLI make a visible change for you
- Manual: I'll make changes myself

Mode otomatis: CLI akan secara otomatis memodifikasi file Anda untuk menambahkan spanduk pengujian yang terlihat atau mengubah.

Mode manual: Anda membuat perubahan sendiri (misalnya, mengubah teks, warna, atau menambahkan elemen).

Penanganan versi:

❓ How do you want to handle the version for this update?
Options:
- Auto: Bump patch version ({currentVersion} → {nextVersion})
- Manual: I'll provide the version number

Bangun dengan perubahan:

❓ Build {appId} with changes before uploading?

Unggah paket aplikasi Anda yang telah diperbarui ke Capgo.

❓ Upload the updated {appId} bundle (v{version}) to Capgo?

CLI berjalan:

Terminal window
npx @capgo/cli@latest bundle upload

Permintaan pembaruan Delta (jika Pembaruan Langsung diaktifkan):

💡 Direct Update (instant updates) is enabled in your config
Delta updates send only changed files instead of the full bundle
❓ Enable delta updates for this upload? (Recommended with Direct Update)

Sukses:

✅ Update v{version} uploaded successfully!
🎉 Your updated bundle is now available on Capgo

Saatnya melihat pembaruan beraksi!

🧪 Time to test the Capgo update system!
📱 Go to your device where the app is running

Untuk pembaruan instan:

🔄 IMPORTANT: Background your app (swipe up/press home button) and then reopen it
⏱️ The update should be downloaded and applied automatically

Untuk pembaruan standar:

📱 With standard updates, you will need to:
1. Background the app (swipe up/press home button) to start download
2. Wait a few seconds for download to complete
3. Background and foreground again to see the update

Log pemantauan:

❓ Monitor Capgo logs to verify the update worked?

Jika Anda memilih Ya, Anda akan melihat log langsung dari perangkat Anda yang menunjukkan proses pembaruan.

Welcome onboard ✈️!

Selamat! Anda berhasil menyiapkan Capgo pembaruan langsung untuk aplikasi Anda.

Setelah menyelesaikan orientasi, Anda memiliki:

✅ Aplikasi Terdaftar

Aplikasi Anda terdaftar di Capgo dengan saluran produksi

✅ Plugin Terpasang

Plugin Capacitor Updater telah diinstal dan dikonfigurasi

✅ Kode Terintegrasi

Kode integrasi ditambahkan ke aplikasi Anda

✅ Pembaruan Diuji

Anda telah berhasil menerapkan dan menerima pembaruan langsung

Untuk pembaruan selanjutnya, gunakan:

Terminal window
npm run build
npx @capgo/cli@latest bundle upload --channel=production

Untuk opsi penerapan lainnya, lihat Menerapkan Pembaruan Langsung.

Jika Anda keluar dari proses orientasi, Anda dapat melanjutkannya kapan saja:

Terminal window
npx @capgo/cli@latest init [APIKEY]

Anda akan melihat:

You have already got to the step {stepNumber}/13 in the previous session
❓ Would you like to continue from where you left off?

Masalah: Baik Xcode maupun Android SDK tidak terdeteksi.

Solusi:

Masalah: ID aplikasi Anda sudah terdaftar.

Solusi: Pilih salah satu alternatif yang disarankan atau masukkan ID aplikasi khusus dalam notasi domain terbalik.

Masalah: Tidak ditemukan skrip build di package.json.

Solusi: Tambahkan skrip build ke package.json Anda:

{
"scripts": {
"build": "your-build-command"
}
}

Masalah: CLI tidak dapat memasukkan kode integrasi secara otomatis.

Solusi: Tambahkan kode secara manual ke file utama Anda:

import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()

Masalah: Versi Capacitor Anda di bawah v5.

Solusi: Tingkatkan Capacitor ke v5 atau lebih tinggi:

Sekarang setelah Anda menyelesaikan orientasi, jelajahi topik berikut:

Jika Anda mengalami masalah selama orientasi: