11. Perubahan Break
Copypengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Dokumentasi ini menjelaskan cara mengatasi perubahan besar dalam aplikasi Anda menggunakan saluran yang versi. Pendekatan ini memungkinkan Anda untuk menjaga versi aplikasi yang berbeda sambil memastikan pengguna menerima pembaruan yang kompatibel.
Skenario Contoh
Judul Bagian: Skenario ContohBayangkan Anda memiliki:
- Aplikasi versi 1.2.3 (versi lama) - menggunakan saluran produksi
- Aplikasi versi 2.0.0 (versi baru dengan perubahan besar) - menggunakan saluran v2
- Pembaruan hidup 1.2.4 (kompatibel dengan 1.2.3)
- Pembaruan hidup 2.0.1 (kompatibel dengan 2.0.0)
Strategi: Selalu Gunakan defaultChannel untuk Versi Besar
Judul Bagian: Strategi: Selalu Gunakan defaultChannel untuk Versi BesarRekomendasi: Set sebuah defaultChannel untuk setiap versi besar. Dengan demikian, Anda dapat selalu membarui aplikasi untuk kelompok pengguna tertentu tanpa bergantung pada penugasan dinamis saluran.
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'1. Buat Saluran untuk Versi Baru
Membuat Saluran untuk Versi Baru# Create channel for version 2.xnpx @capgo/cli channel create v22. Perbarui Konfigurasi Capacitor untuk Versi 2.0.0
Section titled “2. Update Capacitor Config for Version 2.0.0”Perbarui konfigurasi Capacitor Anda sebelum membangun versi 2.0.0 untuk toko aplikasi:
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { appId: 'com.example.app', appName: 'Example App', plugins: { CapacitorUpdater: { // ... other options defaultChannel: 'v2' // All 2.0.0 users will use v2 channel } }};
export default config;3. Manage Separate Code Branches
Section titled “3. Manage Separate Code Branches”Buat cabang Git terpisah untuk menjaga konsistensi antara versi aplikasi:
# Create and maintain a branch for version 1.x updatesgit checkout -b v1-maintenancegit push origin v1-maintenance
# Your main branch continues with version 2.x developmentgit checkout mainKritis: Never push JavaScript bundles to older apps that expect native code/APIs they don’t have. Always build updates from the appropriate branch:
- Selalu bangun pembaruan dari cabang yang tepat:cabang pemeliharaan v1-maintenance
- cabang utama: Untuk pembaruan ke aplikasi 2.x (saluran v2)
4. Unggah Paket ke Saluran yang Sesuai
Judul Bagian “4. Unggah Paket ke Saluran yang Sesuai”# For 1.x updates: Build from v1-maintenance branchgit checkout v1-maintenance# Make your 1.x compatible changes herenpx @capgo/cli bundle upload --channel production
# For 2.x updates: Build from main branchgit checkout main# Make your 2.x changes herenpx @capgo/cli bundle upload --channel v25. Aktifkan Penugasan Otomatis
Judul Bagian “5. Aktifkan Penugasan Otomatis”# Allow apps to self-assign to v2 channelnpx @capgo/cli channel set v2 --self-assign6. Rilis ke App Store
Judul Bagian “6. Rilis ke App Store”Bangun dan rilis versi 2.0.0 ke toko aplikasi. Semua pengguna yang mengunduh versi ini (baik pengguna baru maupun pengguna yang mengupgrade) akan secara otomatis menggunakan saluran v2 karena sudah diatur dalam bundle aplikasi.
Mengukur untuk Versi Masa Depan
Bab berjudul “Mengukur untuk Versi Masa Depan”Saat Anda rilis versi 3.0.0 dengan perubahan yang lebih berisiko:
# Create channel for version 3.xnpx @capgo/cli channel create v3// capacitor.config.ts for version 3.0.0const config: CapacitorConfig = { // ... plugins: { CapacitorUpdater: { defaultChannel: 'v3' // Version 3.x users } }};Now Anda dapat memperbarui versi apa pun:
productionsaluran → Pengguna Versi 1.xv2saluran → Pengguna Versi 2.xv3saluran → Pengguna Versi 3.x
7. Pembersihan (Setelah Migrasi)
Judul Bagian “7. Pembersihan (Setelah Migrasi)”Setelah semua pengguna telah bermigrasi ke versi 2.x (hitung 3-4 bulan):
- Hapus
defaultChanneldari konfigurasi Capacitor Anda - Hapus saluran v2:
npx @capgo/cli channel delete v2- Delete branch v1-maintenance:
git branch -d v1-maintenancegit push origin --delete v1-maintenanceSelalu lakukan tes pembaruan secara menyeluruh di setiap saluran sebelum pengiriman
Mengelola Pembaruan Versi 1.x
Bagian berjudul “Mengelola Pembaruan Versi 1.x”Mengirimkan pembaruan yang kompatibel dengan versi 1.x:
- Switch ke cabang v1-maintenance:
git checkout v1-maintenance- Lakukan perubahan dan commit:
# Make 1.x compatible changesgit add .git commit -m "Fix for v1.x"git push origin v1-maintenance- Bangun dan unggah ke saluran produksi:
npx @capgo/cli bundle upload --channel productionTeruskan dari Perubahan yang Mengganggu
Bagian berjudul “Teruskan dari Perubahan yang Mengganggu”Jika Anda menggunakan Perubahan yang Mengganggu untuk merencanakan routing kanal dan peluncuran yang dipersiapkan, hubungkannya dengan Saluran context":"Fitur nama saluran rilis Capgo. 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). untuk detail implementasi di Saluran, Saluran context":"Fitur nama saluran rilis Capgo. 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). untuk detail implementasi di Saluran, Solusi Pengujian Beta untuk alur kerja produk di Solusi Pengujian Beta, dan Solusi Target Versi untuk alur kerja produk di Solusi Target Versi.