Langsung ke konten utama

Cara Update File di Aplikasi Capacitor

Pelajari cara update file di aplikasi Capacitor secara instan dengan live updates. Lewati delay App Store dan kirim perbaikan JS, CSS, serta asset langsung ke user.

Cara Update File di Aplikasi Capacitor

Rilis Perbaikan Capacitor Tanpa Delay App Store

Misalnya halaman checkout Anda mengalami masalah alignment CSS jam 8 pagi. Panik pun dimulai — Anda butuh rilis iOS, rilis Android, rebuild native, dan review berhari-hari. Sekarang tidak lagi.

Build web bundle baru, push ke channel Capgo yang terkontrol, dan perangkat yang kompatibel akan mengunduhnya tanpa perlu melewati antrean review app store. Perbaikan CSS, JavaScript, copy, dan asset bisa sampai ke user dalam hitungan menit, sementara perubahan native tetap mengikuti jalur rilis binary biasa.

Table of Contents

Kapan Live File Update Masuk Akal

live update bekerja saat shell native Anda baik-baik saja, tetapi layer web perlu perhatian. Masalah perataan CSS itu? Perbaiki stylesheet, build ulang aset web, lalu terbitkan bundle yang ditandatangani. Pukul 9 pagi — satu jam setelah bug muncul — pengguna Anda menerima perbaikannya saat aplikasi mereka dibuka berikutnya. Capgo menerapkan bundle melalui updater-nya dan tidak menyentuh binary native sama sekali.

Profesional muda berkacamata yang bekerja di laptop di atas meja kayu dengan ponsel di sampingnya.

Berikut cara saya menentukan jalur yang akan diambil:

  • Gunakan live update untuk perilaku JavaScript, CSS, teks, konfigurasi, dan aset yang kompatibel.
  • Gunakan rilis native untuk perubahan plugin, izin, dependensi native, atau fungsionalitas tingkat OS.
  • Uji melalui channel sebelum koreksi ditampilkan ke semua pelanggan.
Tipe Rilis Penggunaan Umum Dampak Pengguna
Package native Fitur native baru Download dan review dari Store
Bundle web live Fix kompatibel mendesak Update saat aplikasi dibuka

Jaga kompatibilitas layer native dan web. Live bundle tidak bisa menambahkan native API secara aman jika binary yang terinstal tidak memilikinya. Jika Anda menambah plugin baru atau mengubah permission, Anda butuh Native Build — tidak ada cara lain.

Untuk urutan deployment step-by-step, saya sarankan membaca panduan deploy hotfix Capgo ini. Panduan ini menjelaskan cara beralih dari perbaikan yang sudah dites ke rilis terkontrol tanpa menjadikan user produksi sebagai tim QA Anda.

Sebelum mulai push update ke production, pastikan local build Anda sudah terkunci rapi. Install Capgoplugin updater open-source mereka, lalu tambahkan TypeScript package-nya agar editor Anda benar-benar mengenali metode updater, bukan malah memunculkan error tipe yang hilang. Untuk proyek Capacitor, panduan mereka untuk setup environment Capacitor lokal layak di-bookmark — panduan ini menjelaskan cara menyiapkan workspace yang bersih.

Laptop modern di atas meja yang menampilkan proses build software yang sudah selesai, dengan checklist di dekatnya.

Jaga web asset tetap bisa diprediksi

Live bundle Anda hanya berisi web asset hasil compile — bukan file source sembarangan yang mungkin Anda edit. Konfigurasi proyek Anda agar build command selalu menghasilkan JavaScript, CSS, HTML, dan asset kompatibel final ke dalam www atau public directory yang sama dengan yang direferensikan native shell.

Begini contoh praktisnya: setelah mengubah stylesheet halaman checkout, jalankan web build seperti biasa, lalu periksa output directory dan pastikan file yang dihasilkan benar-benar menggantikan versi sebelumnya. Jangan edit file hasil compile secara manual — build berikutnya akan menimpanya diam-diam, dan perubahan itu hilang tanpa Anda sadari.

live update hanya bisa mengirim apa yang ada di web build Anda. Jika perbaikannya tidak ada di www atau public, perangkat tidak bisa menerimanya.

Atur channel terpisah untuk development, staging, dan production. Build developer tidak boleh menunjuk ke channel production, terutama saat beberapa anggota tim menguji bundle yang belum selesai secara bersamaan.

  • Pengembangan menangkap import yang rusak dan aset yang hilang sebelum menyebar lebih jauh.
  • Panggung memverifikasi perilaku perangkat asli dengan pengaturan mirip rilis.
  • Produksi hanya menyajikan bundle yang disetujui dan diuji — tidak ada yang eksperimental.

Verifikasi Bundle Sebelum Publish

Jalankan pemeriksaan integritas singkat sebelum mengunggah apa pun. Ini menangkap sebagian besar masalah yang seharusnya sampai ke pengguna:

  1. Hapus output build sebelumnya, lalu buat build baru.
  2. Pastikan file yang sudah diperbaiki benar-benar ada di direktori output.
  3. Uji navigasi, login, perilaku offline, dan panggilan plugin native — bukan hanya fitur yang diubah.
  4. Pasang bundle di perangkat uji iOS dan Android.
  5. Catat channel dan versi bundle yang digunakan saat pengujian agar masalah dapat direproduksi nanti.

Tim Electron bisa menerapkan disiplin yang sama: build aset renderer secara terpisah, lalu pastikan aplikasi yang sudah di-package merujuk ke direktori output yang dimaksud. API bertipe dan kontrol channel dari Capgo membuat workflow ini lebih mudah diulang secara konsisten, tapi tidak menggantikan pengujian kompatibilitas yang sebenarnya. Jika perubahan membutuhkan plugin native atau izin baru, rilis binary baru alih-alih mencoba mengirimnya sebagai live web bundle — updater tidak bisa memodifikasi code native secara mandiri.

Mendapatkan pembaruan file yang benar di aplikasi Capacitor dan Electron bergantung pada satu hal: artefak rilis yang solid. Build lapisan web Anda dari commit persis yang sudah Anda uji, lalu periksa dua kali bahwa semua JavaScript, CSS, HTML, dan aset Anda berada di www atau public seperti yang diharapkan. Jika Anda bekerja dengan Electron, build renderer secara terpisah dan verifikasi bahwa shell yang sudah di-package menunjuk ke output tersebut.

Membuat Bundle yang Bisa Diverifikasi

Sebelum mulai upload, hapus semua output build lama dan jalankan production build baru. Catat commit hash, versi bundle, target channel, dan versi native app terkait. Detail ini akan menghemat berjam-jam kebingungan Anda saat ada yang tidak cocok nanti.

Selalu cek bundle di perangkat nyata — iPhone, Android, atau instalasi Electron. Tes alur login, navigasi, mode offline, dan setiap native plugin yang menyentuh file yang baru Anda update. Berhasil upload ke update server tidak ada artinya kalau perangkatnya tidak bisa menjalankan apa yang Anda kirim.

Signing memberikan sidik jari kriptografi pada artifact Anda. Updater mengandalkan signature itu untuk memastikan bundle sampai dari release pipeline Anda tanpa perubahan. Simpan kredensial signing sepenuhnya di luar repo, batasi siapa yang bisa mengaksesnya, dan rotasi sesuai jadwal yang diminta kebijakan keamanan Anda.

Bundle yang sudah di-sign bukan pengganti testing. Signing membuktikan asal artifact dan bahwa isinya tidak diubah — tapi sama sekali tidak menjamin aplikasi Anda benar-benar berjalan dengannya.

Kalau mau gambaran lengkap, saya sarankan membaca panduan Capgo tentang end-to-end security dan code signing.

Publishing lewat channel yang terkontrol

Setelah signed bundle siap, upload ke Capgo dan assign ke channel yang sesuai strategi rollout Anda. Berikut yang paling berguna dan akan paling sering Anda pakai:

  • Beta — untuk staf internal dan tester terpilih
  • Panggung — untuk memvalidasi di lingkungan mirip produksi sebelum pengguna asli melihatnya
  • Produksi — untuk audiens yang disetujui
  • Channel khusus pelanggan — saat tenant berbeda butuh jadwal update independen masing-masing

Ini skenario yang sering terjadi: tim fintech menemukan label pembayaran yang rusak di produksi. Mereka push web bundle yang sudah diperbaiki ke channel internal, memverifikasi checkout di beberapa perangkat, lalu promote artifact yang sama persis dan sudah diuji ke segmen produksi kecil sebelum diluncurkan lebih luas. Guardrail channel tersebut mencegah perbaikan terburu-buru berubah menjadi insiden besar.

Setelah publish, telusuri log tiap perangkat, jangan hanya mengandalkan status agregat di dashboard. Pastikan versi aplikasi yang tepat menerima bundle, signature tervalidasi, instalasi selesai bersih, dan launch berikutnya benar-benar memuat file baru.

Jika ada perangkat yang melaporkan ketidakcocokan, hentikan sementara channel itu dan bandingkan versi bundle, kompatibilitas native, signing key, dan assignment channel secara berdampingan. Baru perluas distribusi setelah log terlihat bersih di seluruh grup uji Anda, dan selalu simpan bundle sebelumnya untuk rollback.

Setelah build lokal berjalan lancar, saatnya mengintegrasikan publishing ke pipeline CI/CD Anda. Tujuannya sederhana: build aset web, tandai bundle, dan publikasikan secara otomatis setelah test lulus. Tidak ada lagi upload manual. Tidak perlu lagi bingung cara update file setelah merge — proses ini yang menanganinya.

Berikut contoh pipeline praktis dalam penerapannya:

  • Jalankan job saat release branch di-merge ke target branch Anda.
  • Instal dependensi dan generate build yang bersih www atau public build.
  • Jalankan full test suite — unit tests, integration tests, dan device smoke tests.
  • Sign bundle menggunakan kredensial yang disimpan di CI secret manager Anda.
  • Push ke channel beta atau staging melalui API publik Capgo.
  • Setelah validasi lolos, promote artifact yang sama persis ke tahap berikutnya. Jangan rebuild.

Satu hal penting: jangan pernah commit signing keys atau token API ke repo Anda. Simpan sebagai environment variables yang dilindungi, batasi publishing produksi hanya untuk branch yang disetujui, dan log setiap release dengan versi bundle, commit hash, versi native app, dan channel tujuan. Capgo panduan integrasi GitHub Actions menjelaskan cara mengatur ini dari awal hingga akhir.

Infografis alur kerja empat langkah yang mengilustrasikan proses build, sign, publish, dan validasi web bundle untuk distribusi.

The takeaway here is that validasi tetap menjadi bagian dari proses pengiriman. Publishing bukan garis finish. Pipeline Anda harus memastikan bahwa perangkat yang dituju benar-benar menerima dan mengizinkan bundle tersebut.

Hemat Biaya Transfer dengan Differential Updates

Mengirim bundle penuh setiap kali itu pemborosan — terutama jika rilis hanya mengubah stylesheet atau beberapa modul JavaScript. Aktifkan differential delivery agar perangkat hanya mengunduh file yang berubah. Pastikan Anda menguji bagaimana aset yang dihapus atau diganti namanya ditangani, atau Anda akan mendapat kejutan tidak menyenangkan di produksi.

Satu agensi yang saya lihat menangani hal ini berhasil memangkas biaya bandwidth rata-rata mereka sebesar 47% setelah beralih dari re-bundle penuh ke pengiriman inkremental. Keuntungan terbesar dirasakan oleh pengguna dengan koneksi lambat, di mana unduhan yang lebih kecil juga berarti waktu instalasi yang terasa lebih cepat.

Saya juga merekomendasikan penggunaan channel terpisah untuk mengontrol eksposur Anda:

  • Beta mengambil build internal dan mengumpulkan umpan balik dari pengujian.
  • Panggung mencerminkan pengaturan produksi tanpa berdampak pada pelanggan.
  • Produksi dimulai kecil dengan audiens terbatas sebelum Anda memperluasnya.
  • Channel pelanggan menjaga rilis spesifik tenant tetap terisolasi satu sama lain.

Promosikan artefak yang sudah diuji — jangan build ulang antar tahap. Build ulang untuk setiap environment menimbulkan drift, dan tiba-tiba Anda harus debugging perbedaan yang seharusnya tidak ada.

Untuk sesuatu seperti aplikasi fintech, alurnya mungkin seperti ini: publikasikan ke karyawan terlebih dahulu, lalu rilis ke 5% pengguna yang memenuhi syarat, periksa logs per perangkat, dan hanya perluas ketika adopsi terlihat sehat dan tingkat kegagalan tetap stabil. Dan selalu simpan bundle sebelumnya. Jika ada yang tidak beres, Anda perlu kemampuan untuk menjeda atau roll back dalam hitungan menit, bukan jam.

Menerbitkan bundle hanyalah titik tengah. Untuk memastikan pengguna benar-benar menerima update, buka logs per perangkat Capgo dan periksa versi native, channel, versi bundle, validasi tanda tangan, status download, dan hasil instalasi.

Rollout yang sehat harus menunjukkan peluncuran yang berhasil setelah instalasi, bukan sekadar download yang selesai. Untuk perbaikan checkout, uji alur pembelian nyata di beberapa perangkat, lalu bandingkan hasilnya dengan laporan dari pengguna dengan koneksi lambat atau versi aplikasi yang lebih lama.

Seorang pria duduk di meja memandang monitor komputer yang menampilkan analitik dan logs manajemen perangkat.

Baca Sinyal Update dengan Jelas

Gunakan metrik adopsi dan kegagalan bersama-sama. Tingkat download tinggi dengan kegagalan launch berulang menunjukkan bundle rusak, sementara adopsi rendah bisa menandakan masalah targeting channel, perangkat offline, atau konfigurasi updater.

Sinyal Biasanya Berarti
Diunduh Perangkat berhasil mengambil bundle
Terpasang File lolos pemeriksaan instalasi
Launch berhasil Aplikasi terbuka dengan file baru
Di-rollback Bundle yang sebelumnya diketahui baik dipulihkan

Pantau launch yang berhasil, bukan hanya download. Sebuah update beroperasi hanya jika pengguna bisa membuka dan menggunakan aplikasi secara normal.

Fitur automatic rollback protection dari Capgo memberi jaring pengaman saat bundle baru menyebabkan crash atau membuat aplikasi gagal startup. Biarkan versi sebelumnya tetap tersedia, pause channel yang terdampak, dan periksa logs sebelum mempromosikan artifact lain.

Version control video punya kesamaan konsep dengan memantau update file dan mengelola rollback di pipeline distribusi live, jadi tim mungkin juga merasa konsep ini berguna saat mereka mengelola versi video training.

Verifikasi Rilis

Gunakan checklist pasca-release singkat ini:

  • Cek adopsi per channel dan versi aplikasi.
  • Review download yang gagal, error signature, dan kegagalan launch.
  • Test workflow yang berubah di perangkat fisik.
  • Bandingkan waktu error dengan timestamp release.
  • Pause distribusi jika kegagalan meningkat secara tidak terduga.
  • Catat bundle final, commit, dan keputusan rollback.

Untuk panduan lebih mendalam, baca cara memantau pembaruan OTA di aplikasi Capacitor. Ini mengubah pembaruan file dari sekadar tugas penerbitan menjadi proses operasional yang terkontrol.

Apakah Live Updates Mengikuti Aturan Store?

Live Update paling efektif untuk perubahan JavaScript, CSS, teks, penyesuaian konfigurasi, dan aset yang kompatibel. Ini bukan jalan pintas untuk menambahkan kemampuan native, mengubah izin, atau menghindari review store. Selalu periksa kebijakan Apple dan Google untuk kategori aplikasi Anda sebelum menerbitkan apa pun.

Bagaimana Differential Updates Mengurangi Download?

Pengiriman diferensial hanya mengirim file yang benar-benar berubah, bukan seluruh web bundle. Misalnya, jika Anda mengubah satu stylesheet di halaman checkout, tidak ada alasan untuk mengirim ulang setiap aset yang tidak terkait. Artinya transfer lebih cepat dan bandwidth lebih hemat.

Namun, perhatikan file yang di-rename atau dihapus. Aset lama yang tersisa dari versi sebelumnya dapat menyebabkan bug aneh yang sulit dilacak.

Patch kecil tetap memerlukan pengujian kompatibilitas penuh. Ukuran unduhan yang lebih kecil tidak menghilangkan kebutuhan untuk memverifikasi seluruh alur pengguna.

Apa yang Terjadi Saat Perangkat Offline?

Perangkat offline tetap menjalankan bundle yang sudah terpasang. Begitu koneksi kembali, updater akan memeriksa channel yang ditugaskan dan mengambil rilis kompatibel terbaru. Jangan asumsikan semua perangkat langsung update — tim di lapangan dengan akses jaringan tidak stabil mungkin tertinggal untuk sementara.

Bagaimana Cara Menangani Breaking Changes?

Anggaplah native binary dan web bundle sebagai pasangan yang harus cocok. Jika file web yang diperbarui memanggil metode native yang tidak ada di binary yang sedang terpasang, Anda perlu merilis native baru terlebih dahulu, lalu mendorong update web di atasnya.

Jalankan channel terpisah untuk beta, staging, dan production. Pastikan setiap perangkat benar-benar menerima channel yang Anda maksud. Ketika muncul ketidakcocokan tanda tangan, biasanya itu mengindikasikan artefak yang diubah, kredensial salah, atau masalah konfigurasi. Jeda distribusi, bandingkan apa yang Anda publikasikan dengan yang Anda uji, dan periksa logs perangkat sebelum mencoba lagi.

Untuk alur kerja deployment yang praktis, jelajahi Capgo — ini memberi Anda rilis bertanda tangan, kontrol channel, pengiriman diferensial, dan perlindungan rollback sehingga Anda dapat memperbarui file tanpa repot.

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.