Langsung ke konten

Pemecahan Masalah

Berikut beberapa masalah umum yang mungkin Anda temui saat menggunakan Capgo dan cara mengatasinya.

🚀 Butuh Bantuan Ahli?

Menghadapi masalah kompleks? Tim ahli kami siap membantu! Dapatkan dukungan personal, review code, dan solusi khusus yang disesuaikan dengan kebutuhan spesifik Anda.

Jika upload bundle Anda gagal, cek ulang:

  • App ID Anda di capacitor.config.ts cocok dengan app Anda di dashboard Capgo
  • Anda menjalankan perintah upload dari root project Capacitor Anda
  • Web assets sudah di-build dan versinya terbaru

Capgo CLI menyediakan beberapa flag tambahan untuk membantu mengatasi masalah upload umum:

  • --tus: Menggunakan protokol upload resumable tus untuk upload bundle besar atau koneksi jaringan buruk yang lebih andal. Jika bundle Anda lebih dari 10MB atau koneksi Anda tidak stabil, pertimbangkan untuk menggunakan --tus:

    Jendela terminal
    npx @capgo/cli@latest bundle upload --tus
  • --package-json dan --node-modules: Memberitahu Capgo di mana menemukan root package.json dan node_modules jika aplikasi Anda menggunakan struktur non-standar seperti monorepo atau workspace npm. Sampaikan path ke root package.json dan --node_modules path:

    Jendela terminal
    npx @capgo/cli@latest bundle upload --package-json=path/to/package.json --node_modules=path/to/node_modules

    Capgo memerlukan informasi ini untuk mem-bundle dependensi aplikasi Anda dengan benar.

Anda dapat menggabungkan flag ini dengan opsi lain seperti --channel sesuai kebutuhan. Lihat dokumentasi Capgo CLI untuk detail lengkap mengenai opsi upload yang tersedia.

Jika Anda masih mengalami kendala saat upload, hubungi dukungan Capgo untuk bantuan lebih lanjut.

Jika Anda mengalami masalah dengan Live Update, perintah debug Capgo adalah alat yang berguna untuk troubleshooting. Untuk menggunakannya:

  1. Jalankan perintah berikut di direktori proyek Anda:

    Jendela terminal
    npx @capgo/cli@latest app debug
  2. Jalankan aplikasi di perangkat atau emulator dan lakukan aksi yang memicu update (misalnya membuka kembali aplikasi setelah upload bundle baru).

  3. Pantau output dari perintah debug. Perintah ini akan mencatat informasi tentang proses update, termasuk:

    • Kapan aplikasi mengecek update
    • Jika pembaruan ditemukan dan versi berapa itu
    • Progres download dan instalasi update
    • Error apa pun yang terjadi selama proses update
  4. Gunakan log debug untuk mengidentifikasi di mana masalah terjadi. Contohnya:

    • Jika tidak ada update yang ditemukan, periksa kembali bahwa bundle berhasil di-upload dan aplikasi dikonfigurasi untuk menggunakan channel yang benar.
    • Jika update berhasil di-download tapi tidak terinstal, pastikan Anda sudah memanggil CapacitorUpdater.notifyAppReady() dan pastikan aplikasi sudah ditutup sepenuhnya lalu dibuka kembali.
    • Jika muncul pesan error, cari error tersebut di dokumentasi Capgo atau hubungi support untuk bantuan.

Perintah debug sangat berguna untuk mengidentifikasi masalah pada proses download dan instalasi update. Jika logs menunjukkan versi update yang diharapkan sudah ditemukan tetapi tidak terpasang, fokuskan troubleshooting pada langkah setelah download.

Selain perintah debug Capgo, native logs pada Android, iOS, dan Electron dapat memberikan informasi troubleshooting yang berharga, terutama untuk masalah di sisi native proses update.

Untuk mengakses Android logs:

  1. Hubungkan perangkat atau jalankan emulator Anda
  2. Buka Android Studio dan pilih “View > Tool Windows > Logcat”
  3. Di jendela Logcat, filter logs agar hanya menampilkan proses app Anda dengan memilihnya dari dropdown di bagian atas
  4. Cari baris yang berisi Capgo untuk menemukan log SDK

Alternatifnya, Anda bisa menggunakan adb logcat perintah dan grep untuk Capgo untuk memfilter logs.

Capgo SDK akan mencatat event penting selama proses update, seperti:

  • Saat pengecekan update dimulai
  • Jika pembaruan ditemukan dan versi berapa itu
  • Saat download update dimulai dan selesai
  • Saat instalasi pembaruan dipicu
  • Error apa pun yang terjadi selama langkah native update

Masalah spesifik Android yang umum terlihat di logs meliputi:

  • Masalah konektivitas jaringan yang mencegah unduhan update
  • Error izin file saat menyimpan atau membaca update bundle
  • Ruang penyimpanan tidak cukup untuk update bundle
  • Gagal memulai ulang aplikasi setelah update terinstal

Untuk mengakses log iOS:

  1. Hubungkan perangkat atau jalankan simulator Anda
  2. Buka Xcode dan pilih “Window > Devices and Simulators”
  3. Pilih perangkat Anda dan klik “Open Console”
  4. Pada output console, cari baris yang berisi Capgo untuk menemukan log SDK

Anda juga bisa menggunakan log stream perintah di terminal dan grep untuk Capgo untuk memfilter logs.

Mirip dengan Android, Capgo SDK akan mencatat event penting di sisi iOS:

  • Inisiasi dan hasil pengecekan update
  • Mulai, progres, dan penyelesaian download
  • Pemicu dan hasil instalasi
  • Kesalahan apa pun selama proses update native

Masalah spesifik iOS yang mungkin Anda identifikasi di logs meliputi:

  • Masalah sertifikat SSL saat mendownload update
  • App Transport Security yang memblokir download update
  • Ruang penyimpanan tidak cukup untuk bundle update
  • Gagal mengekstrak atau menerapkan update bundle dengan benar

Untuk aplikasi Electron, periksa output dari proses utama dan proses renderer:

  1. Jalankan aplikasi Electron dari terminal menggunakan perintah launch normal Anda (misalnya bun run electron:dev atau bun run electron:serve) dan pantau output terminal untuk startup, pemeriksaan update, dan error jaringan.
  2. Buka DevTools di jendela renderer (View → Toggle Developer Tools) dan periksa log console serta permintaan jaringan yang gagal saat mereproduksi alur update.
  3. Untuk aplikasi yang sudah di-package, periksa tool log OS untuk crash atau kegagalan startup:
    • macOS: buka Console.app dan filter berdasarkan nama aplikasi Anda
    • Windows: buka Event Viewer → Log Windows → Aplikasi
    • Linux: gunakan log viewer desktop Anda atau journalctl untuk proses aplikasi Anda

Saat men-debug update, bandingkan pesan dari log main-process dan renderer-process untuk membedakan masalah bootstrap Electron dari masalah lifecycle update Capgo.

Di berbagai platform, native logs memberikan gambaran tingkat lebih rendah tentang proses update, dengan detail lebih mendalam pada implementasi native. Log ini sangat berguna untuk mengidentifikasi masalah yang terjadi di luar layer JavaScript Capgo.

Saat troubleshooting masalah live update yang sulit, sebaiknya ambil Capgo debug logs dan native logs untuk gambaran menyeluruh tentang apa yang terjadi. Kombinasi kedua log ini akan memberi Anda peluang terbaik untuk mengidentifikasi dan menyelesaikan masalah.

Jika Anda sudah mengunggah bundle tetapi perubahan tidak terlihat di perangkat Anda:

  • Pastikan Anda sudah memanggil CapacitorUpdater.notifyAppReady() di aplikasi Anda code seperti yang ditunjukkan dalam Mulai Cepat
  • Periksa apakah perangkat Anda terhubung ke internet dan log debug Capgo menunjukkan bahwa update telah diunduh
  • Coba tutup dan buka ulang aplikasi sepenuhnya, karena update hanya diterapkan saat peluncuran baru
  • Cari kesalahan apa pun di log native yang mungkin menunjukkan masalah dalam menerapkan update

Refer to the panduan deployment live updates untuk detail lebih lanjut tentang proses update. Jika Anda masih terjebak, gunakan npx @capgo/cli@latest app debug perintah dan log native untuk mendapatkan visibilitas lebih lanjut tentang apa yang sedang terjadi.

Jika logs Anda menunjukkan error backend seperti disable_auto_update_to_major, semver_error, atau cannot_update_via_private_channel, gunakan panduan khusus:

Penjelasan ini menguraikan arti setiap code yang umum, penyebabnya, dan cara memperbaikinya.

Jika Anda mengalami kesulitan menginstal Capgo SDK, pastikan:

  • Aplikasi Anda menggunakan versi Capacitor yang didukung (4.0 atau lebih baru)
  • Anda telah mengikuti Mulai Cepat langkah-langkah secara berurutan, termasuk menyinkronkan aplikasi Anda setelah menginstal SDK

Untuk masalah dalam memicu upload Capgo dari pipeline CI/CD Anda:

  • Pastikan token autentikasi Capgo Anda sudah diatur dengan benar
  • Pastikan Anda menjalankan perintah upload setelah aset web Anda di-build
  • Periksa apakah perintah upload menggunakan nama channel yang benar untuk lingkungan target Anda

Lihat Integrasi CI/CD dokumentasi untuk tips troubleshooting lainnya. Anda juga dapat menggunakan npx @capgo/cli@latest app debug perintah untuk memastikan apakah update yang dipicu CI/CD diterima oleh aplikasi.

Jika Anda menggunakan Pemecahan Masalah untuk merencanakan penyimpanan dan penanganan file, hubungkan dengan @capgo/capacitor-data-storage-sqlite untuk detail implementasi di @capgo/capacitor-data-storage-sqlite, Menggunakan @capgo/capacitor-data-storage-sqlite untuk kapabilitas native di Menggunakan @capgo/capacitor-data-storage-sqlite, @capgo/capacitor-file untuk detail implementasi di @capgo/capacitor-file, Menggunakan @capgo/capacitor-file untuk kemampuan native di Menggunakan @capgo/capacitor-file, dan @capgo/capacitor-uploader untuk detail implementasi di @capgo/capacitor-uploader.