Langsung ke konten utama
Tutorial

Update aplikasi Capacitor Anda dengan lancar menggunakan Capacitor-updater

Halo komunitas Capacitor Ionic, hari ini saya akan membantu Anda melakukan setup Capacitor-updater ke dalam aplikasi Anda agar bisa melakukan rilis secara seamless.

Update aplikasi Capacitor Anda dengan lancar menggunakan Capacitor-updater

Apa itu Capacitor-updater?

Capacitor-updater adalah teknologi yang membantu pengiriman update dan peningkatan aplikasi ke pengguna akhir secara instan.

Ini sangat berguna jika Anda ingin melakukan perbaikan bug kritis dan merilisnya secara instan tanpa harus menunggu review App Store.

Anda bisa menganggapnya sebagai kelincahan ala “web” untuk melakukan side-loading update segera setelah tersedia.

Selain itu, tersedia fitur rollback jika update baru menyebabkan app crash

Bagaimana cara kerjanya?

Capgo menjaga JavaScript bundle app Anda tetap sinkron dengan server Capgo, dan setiap kali user membuka app, sistem akan mengecek ke server Capgo apakah ada update bundle baru. Tentu saja, ini dilengkapi banyak konfigurasi keren untuk membantu Anda mengoptimalkan user experience.

Saya menggunakan Capgo di semua project yang saya bangun. Ini membantu saya menghemat waktu dalam proses review App Store.

Baca selengkapnya di sini di sini.

Memahami Semantic Versioning dengan Capgo

Capgo menggunakan semantic versioning (semver) untuk menentukan kapan dan bagaimana update diterapkan ke app Anda. Ini memastikan user hanya menerima update yang kompatibel dan mencegah breaking changes terdeploy secara otomatis.

Format semantic versioning adalah MAJOR.MINOR.PATCH:

  • MAJOR: Breaking changes yang memerlukan rilis native app store
  • MINOR: Fitur baru yang tetap backward compatible
  • PATCH: Perbaikan bug yang tetap backward compatible

Contohnya, jika aplikasi Anda berada di versi 1.0.0 dan Anda ingin update ke 1.0.1 (sebuah patch), Capgo akan otomatis menerapkan update ini. Namun, jika Anda ingin update dari 1.0.0 ke 2.0.0 (versi mayor), ini akan memerlukan rilis native app store karena adanya breaking changes.

Pengaturan channel Capgo memungkinkan Anda mengatur tipe update yang diterapkan secara otomatis:

  • Strategi Major: Mengizinkan semua update (gunakan dengan hati-hati)
  • Strategi Minor: Hanya mengizinkan update minor dan patch
  • Strategi patch: Hanya mengizinkan update patch
  • Strategi metadata: Harus memenuhi persyaratan versi minimum

Anda bisa mengetes berbagai kombinasi versi dengan logika update Capgo menggunakan tool Semver Tester. Tool ini membantu Anda memahami kapan tepatnya update akan diterapkan berdasarkan konfigurasi channel Anda.

Apakah ada batasan?

Meski terdengar hebat, ada beberapa hal yang perlu diperhatikan. Hal pertama adalah update OTA hanya bekerja dengan web bundles. Anda mungkin merasa ini bukan batasan besar karena, di JS Capacitor, kita menulis hampir semua code dalam JS, CSS, dan HTML. Meski begitu, tetap ada native modules yang kita install ke aplikasi. Jika sebuah module mengubah direktori android atau iOS Anda, Anda tidak bisa menggunakan OTA untuk update aplikasi. Hal ini karena isi direktori tersebut digunakan untuk compile Native binaries, yang tidak bisa di-update via OTA. Bahkan native app pun tidak bisa mengupdate bagian ini.

Tapi Anda bisa mengatur CI/CD untuk menangani bagian ini, saya sudah buat tutorialnya di sini untuk iOS.

Konfigurasi Otomatis Capgo

Saatnya mendaftar dan dapatkan key API untuk upload versi pertama Anda! Mulai dengan signing up for a Capgo account.

Setelah login ke Capgo, Anda akan melihat halaman onboarding

Halaman onboarding

Ikuti langkah-langkah di halaman onboarding untuk menambahkan app pertama Anda.

Ikuti panduan CLI

Dari command line, langsung di root app Capacitor Anda, jalankan:

npx @capgo/cli@latest init Untuk menginstal Capgo ke dalam app Capacitor Anda, CLI akan memandu proses setup app Anda dengan Capgo.

Jika ingin melakukannya secara manual, Anda bisa mengikuti langkah-langkah di bawah ini.

Konfigurasi Manual Capgo

Install plugin

Hasil akhirnya, code ini akan ditambahkan ke aplikasi Anda:

npm i @capgo/capacitor-updater && npx cap sync Untuk menginstal plugin ke aplikasi Capacitor Anda.

Kemudian tambahkan code ini ke aplikasi Anda untuk memberi tahu native plugin bahwa JS bundle dalam kondisi sehat (jika tidak, native plugin akan rollback ke versi sebelumnya):

import { CapacitorUpdater } from '@capgo/capacitor-updater'

CapacitorUpdater.notifyAppReady()

Ini akan memberi tahu native plugin bahwa instalasi berhasil.

Lalu jalankan npm run build && npx cap copy untuk memperbarui aplikasi Anda.

Login ke Capgo CLOUD

Pertama, gunakan all apikey yang ada di akun Anda untuk login dengan CLI:

npx @capgo/cli@latest login YOU_KEY

Tambahkan app pertama Anda

Mari kita mulai dengan membuat aplikasi di Capgo Cloud menggunakan CLI.

npx @capgo/cli@latest app add

Perintah ini akan menggunakan semua variabel yang ditentukan dalam file config Capacitor untuk membuat app.

Upload versi pertama Anda

Jalankan perintah untuk build code Anda dan kirim ke Capgo dengan: npx @capgo/cli@latest bundle upload

Secara default, nama versi akan mengikuti yang ada di package.json Anda.

Cek Capgo jika build tersedia.

Anda bahkan bisa mencobanya dengan app sandbox mobile saya.

Jadikan channel default

Setelah Anda mengirimkan app ke Capgo, Anda perlu mengatur channel Anda default agar app dapat menerima update dari Capgo.

npx @capgo/cli@latest channel set production -s default

Terima Live Update di Device

Agar aplikasi Anda bisa menerima live update dari Deploy, Anda perlu menjalankan app di device atau emulator. Cara termudah adalah dengan menggunakan perintah berikut untuk menjalankan local app di emulator atau device yang terhubung ke komputer Anda.

npx cap run [ios | android]

Buka app, pindahkan ke background lalu buka kembali, Anda akan melihat di logs bahwa app telah melakukan update.

Selamat! 🎉 Anda berhasil melakukan deploy Live Update pertama Anda. Ini baru awal dari apa yang bisa Anda lakukan dengan Live Updates. Untuk mempelajari lebih lanjut, lihat dokumentasi lengkap Live Updates.

Jika Anda ingin berhenti menerima update secara lokal, jalankan perintah ini npx @capgo/cli@latest channel set

Lanjutkan dari Update app Capacitor Anda dengan lancar menggunakan Capacitor-updater

Jika Anda menggunakan Update aplikasi Capacitor Anda dengan lancar menggunakan Capacitor-updater untuk merencanakan migrasi dan operasional enterprise, hubungkan dengan Capgo Enterprise untuk workflow produk di Capgo Enterprise, Alternatif Plugin Ionic Enterprise untuk workflow produk di Alternatif Plugin Ionic Enterprise, Alternatif Capgo untuk alur kerja produk di Alternatif Capgo, Konsultasi Capgo untuk alur kerja produk di Capgo Consulting, dan Dukungan Premium Capgo untuk alur kerja produk di Capgo Premium Support.

Live updates untuk aplikasi Capacitor

Saat bug web-layer sudah live, kirim perbaikannya lewat Capgo alih-alih menunggu berhari-hari untuk persetujuan app store. Pengguna mendapat update di background, sementara perubahan native tetap mengikuti jalur review normal.

Terbaru dari Blog kami

Capgo memberikan insight terbaik yang Anda butuhkan untuk membuat aplikasi mobile yang benar-benar profesional.