Biasanya tim memilih salah satu dari tiga pendekatan untuk lingkungan mobile:
- Dua ID aplikasi (produksi + pra-produksi)
- Satu ID aplikasi + switching lingkungan runtime dinamis
- Satu ID aplikasi + Capgo saluran
Kedua-duanya dapat berfungsi, tetapi mereka menciptakan gesekan jangka panjang. Di tim nyata, model saluran Capgo biasanya adalah yang paling bersih.
Mengapa ID aplikasi yang diulang menjadi berisik
Menggunakan com.myapp dan com.myapp.beta context
- Halaman/area: Situs web pemasaran Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman trust.astro. Kunci pesan `dan` (Dan).
- terlihat sederhana, tetapi Anda cepat mendapatkan duplikasi:
- Dua alur rilis
- Dua set ID push, tautan dalam, dan pemetaan akses
Dua identitas analitis dan crash
Divergen konfigurasi dan perilaku tidak konsisten antara lingkungan
Anda akhirnya mengelola dua produk di konsol toko, tim, dan instruksi QA internal.
Hal ini berfungsi sampai:
- QA mulai menghindari alur yang dimaksud karena status konfigurasi sudah ketinggalan zaman,
- seseorang menggunakan endpoint yang salah di produksi,
- perubahan lingkungan menyebabkan bug yang sulit direproduksi,
- anda perlu mengdebug “versi konfigurasi apa yang digunakan oleh binary ini?” di perangkat pengguna.
Kompleksitas ini meningkat dengan setiap rilis dan di mana tim kehilangan kecepatan.
Cara Capgo:
Cara Capgo membuat kendali lingkungan eksplisit melalui saluran:
- Tetapkan satu ID aplikasi produksi di App Store / Play.
- Kirim satu binary asli untuk “shell” (sampai perubahan native memerlukan rebuild yang benar).
- Rutekan perilaku melalui saluran, bukan melalui identitas aplikasi yang diulang.
Dalam prakteknya, ini berarti:
productionsemua penggunastaginginternal QA dan kandidat rilisbetapengujian yang diundanghotfixtrack pembaruan darurat
Applikasi pengujian internal Anda / Play TestFlight dapat tetap berada di staging selamanya.
Anda dapat melakukan pembaruan JS/CSS/asset secara berulang di sana melalui Capgo tanpa mempublikasikan aplikasi native baru.
Struktur yang disarankan dalam praktek
1) Basis rilis native
Versi native terakhir Anda tetap sama untuk banyak iterasi JS:
bun run build
bunx cap sync
# generate Xcode/Android Studio archives as usual
Hanya saja Anda harus membangun ulang versi native ketika Anda benar-benar mengubah area permukaan native.
2) Gunakan saluran dedikasi untuk lingkungan
Publikasikan pembaruan dengan saluran:
bun run build
bunx @capgo/cli deploy --channel staging
Tes di QA, perbaiki masalah, lalu promosikan:
bunx @capgo/cli promote vX.Y.Z --channel production
Jika Anda lebih suka versi eksplisit:
bunx @capgo/cli deploy vX.Y.Z --channel staging
bunx @capgo/cli promote vX.Y.Z --channel production
3) Simpan TestFlight “selalu pre-prod”
Pada alur kerja iOS, ini berarti build TestFlight Anda dapat tetap terkait dengan pembaruan pre-produksi:
- Tidak perlu pengiriman native yang sering untuk setiap perubahan JS.
- QA selalu memvalidasi code yang mirip produksi melalui saluran staging.
- Pengguna produksi hanya menerima bundle saluran produksi yang dipromosikan.
4) Gunakan switching saluran hanya untuk alur kerja yang terkendali
Untuk tim yang lebih maju, tunjukkan switching saluran yang terkendali untuk pengguna QA/admin:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setChannel({
channel: 'staging',
triggerAutoUpdate: true
});
Ini optional. Banyak tim menggunakan pengaturan saluran dari dashboard dan hanya mengganti saluran untuk pengguna internal, bukan semua pelanggan.
Daftar checklist operasional
- Hanya satu ID aplikasi (tidak ada duplikat ID produksi/staging)
- Pipeline pembangunan aplikasi asli dasar
- Channel mapping yang terdokumentasi (
staging,beta,production,hotfix) - Jalan promosi yang ditetapkan dalam CI/CD
- Rebuild asli hanya pada perubahan asli asli
- Rollback diuji secara teratur
Manfaat praktis
Metode ini menghilangkan perubahan lingkungan, mengurangi perubahan bangunan, dan mempercepat perbaikan:
- QA mendapatkan aplikasi yang realistis (tidak ada identitas “aplikasi staging” palsu),
- Jalan TestFlight Anda tetap stabil,
- Tim Anda menghindari “utang ID aplikasi dua,”
- Anda dapat meneruskan banyak perbaikan JavaScript hanya melalui Capgo dengan cepat.
Hasil akhirnya adalah pemerintahan yang lebih sederhana: lebih sedikit artefak, telemetri yang lebih bersih, dan lebih sedikit kejutan dalam operasi rilis.
Teruskan dari Capgo Praktik Terbaik Lingkungan: Staging dengan Satu ID Aplikasi Mobile
Jika Anda menggunakan Capgo Praktik Terbaik Lingkungan: Staging dengan Satu ID Aplikasi Mobile untuk merencanakan routing saluran dan peluncuran yang ditunda, hubungkannya dengan Saluran context":"Saluran fitur nama Capgo rilis. Halaman/area: Halaman pemasaran solusi Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman solusi/white-label.astro. Kunci pesan `solutions_white_label_visual_cell2_value` (Nilai Sel Visual Putih Label Solusi 2)." untuk detail implementasi di Saluran, Saluran context":"Saluran fitur nama Capgo rilis. Halaman/area: Halaman pemasaran solusi Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman solusi/white-label.astro. Kunci pesan `solutions_white_label_visual_cell2_value` (Nilai Sel Visual Putih Label Solusi 2)." untuk detail implementasi di Saluran, Saluran context":"Saluran fitur nama Capgo rilis. Halaman/area: Halaman pemasaran solusi Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman solusi/white-label.astro. Kunci pesan `solutions_white_label_visual_cell2_value` (Nilai Sel Visual Putih Label Solusi 2)." Solusi Target Versi untuk alur kerja produk di Solusi Target Versi.