Lompat ke konten utama
Tutorial

Capgo Praktik Lingkungan Terbaik: Staging dengan Satu ID Aplikasi Mobile

Petunjuk praktis untuk menghindari ID aplikasi duplikat dan flag runtime yang rapuh dengan menggunakan Capgo saluran untuk staging, QA, dan produksi di Capacitor aplikasi.

Martin Donadieu

Martin Donadieu

Pengembang Konten

Capgo Praktik Lingkungan Terbaik: Staging dengan Satu ID Aplikasi Mobile

Tim biasanya memilih salah satu dari tiga pendekatan untuk lingkungan mobile:

  1. Dua ID aplikasi (produksi + pra-produksi)
  2. Satu ID aplikasi + switching lingkungan runtime dinamis
  3. Satu ID aplikasi + Capgo saluran

Model saluran pertama dapat berfungsi, tetapi menciptakan gesekan jangka panjang. Dalam tim nyata, model saluran Capgo biasanya adalah yang paling bersih.

Mengapa ID aplikasi duplikat menjadi bising

Menggunakan com.myapp dan com.myapp.beta terlihat sederhana, tetapi Anda cepat mendapatkan duplikasi:

  • Dua alur rilis
  • Dua set ID push, tautan dalam, dan pemetaan hak istimewa
  • Dua identitas analitis dan crash
  • Konfigurasi yang berbeda dan perilaku yang tidak konsisten antara lingkungan

Kamu akhirnya harus mengelola dua produk di konsol toko, tim, dan instruksi QA internal.

Mengapa konfigurasi runtime sering kali berantakan

Polanya “ID aplikasi + switch runtime” biasanya berarti aplikasi membaca variabel lingkungan atau flag pada startup dan mengarahkan API, kunci, dan perilaku pembaruan secara dinamis.

Ini berfungsi sampai:

  • QA mulai menghindari alur yang dimaksud karena kondisi konfigurasi sudah ketinggalan zaman,
  • Seseorang menggunakan endpoint yang salah di produksi,
  • perubahan lingkungan menyebabkan bug yang sulit untuk direproduksi,
  • kamu perlu debug “apa versi konfigurasi ini menggunakan?” di perangkat pengguna.

Kompleksitas ini tumbuh dengan setiap rilis dan di mana tim kehilangan kecepatan.

Cara Capgo : satu ID aplikasi, banyak saluran

Capgo membuat kontrol lingkungan eksplisit melalui saluran:

  • Simpan satu ID aplikasi produksi di App Store / Play.
  • Kirim satu biner native untuk “shell” (sampai perubahan native memerlukan rebuild yang benar).
  • Tentukan perilaku routing oleh saluran, bukan oleh identitas aplikasi yang diulang.

Dalam prakteknya, ini berarti:

  • production: semua pengguna
  • staging: internal QA dan kandidat rilis
  • beta: tester yang diundang
  • hotfix: jalur pembaruan darurat

Aplikasi pengujian internal Anda di TestFlight/Play dapat tetap ada ‘forever. Anda dapat melakukan pembaruan JS/CSS/asset secara berulang di sana melalui __CAPGO_KEEP_0__ tanpa mengeluarkan aplikasi native yang baru. staging forever. You do JS/CSS/asset updates there repeatedly through Capgo without publishing a new native app.

1) Native release baseline

Binary native Anda tetap sama untuk banyak iterasi JS:

bun run build
bunx cap sync
# generate Xcode/Android Studio archives as usual

Anda hanya membangun kembali binary native ketika Anda benar-benar mengubah area permukaan native.

2) Gunakan saluran dedikasi untuk lingkungan

Publikasikan update dengan saluran:

bun run build
bunx @capgo/cli deploy --channel staging

Test di QA, perbaiki masalah, kemudian 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) Tahan TestFlight “selalu pre-prod”

Dalam alur kerja iOS, hal ini berarti build TestFlight Anda dapat tetap terkait dengan update pre-produksi:

  • Tidak ada pengiriman native sering untuk setiap perubahan JS.
  • QA selalu memvalidasi code dekat produksi melalui saluran pengujian.
  • Pengguna produksi hanya menerima paket saluran produksi yang dipromosikan.

4) Gunakan perubahan saluran hanya untuk alur kerja yang dikendalikan

For tim advanced, terbuka saluran kontrol switch untuk pengguna QA/admin:

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

await CapacitorUpdater.setChannel({
  channel: 'staging',
  triggerAutoUpdate: true
});

Ini optional. Tim kebanyakan 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/tunggu)
  • Hanya satu pipeline bangun asli native
  • Peta saluran yang dokumentasi (staging, beta, production, hotfix)
  • Jalur promosi diizinkan dalam CI/CD
  • Rebuild native hanya pada perubahan native yang sebenarnya
  • Rollback diuji secara teratur

Manfaat praktis

Metode ini menghilangkan pergeseran lingkungan, mengurangi perubahan bangun, dan mempercepat perbaikan:

  • QA mendapatkan biner yang realistis (tidak ada identitas
  • path Anda di TestFlight tetap stabil,
  • tim Anda menghindari "utang ID aplikasi dua,"
  • Anda dapat menerapkan banyak perbaikan JS hanya melalui Capgo dengan cepat.

Hasilnya adalah pengelolaan yang lebih sederhana: lebih sedikit artefak, telemetri yang lebih bersih, dan lebih sedikit kejutan dalam operasi rilis.

Teruslah dari Capgo Environment Best Practices: Staging dengan Satu ID Aplikasi Mobile

Jika Anda menggunakan Capgo Environment Best Practices: Staging dengan Satu ID Aplikasi Mobile untuk merencanakan routing saluran dan peluncuran yang dipersiapkan, hubungkannya dengan Cloudflare untuk detail implementasi di Cloudflare, Cloudflare untuk detail implementasi di Cloudflare, Saluran untuk detail implementasi di Saluran, Pengujian Beta untuk alur kerja produk di Pengujian Beta, dan Pengaturan Target Versi untuk alur kerja produk di Pengaturan Target Versi.

Pembaruan hidup untuk Capacitor aplikasi

Ketika bug layer web masih hidup, kirimkan perbaikan melalui Capgo bukan menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan update di latar belakang sementara perubahan native tetap dalam jalur review normal.

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk membuat aplikasi mobile yang profesional.