Perubahan yang Mengganggu
Copy prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Dokumentasi ini menjelaskan cara mengatasi perubahan yang memecah dalam aplikasi Anda menggunakan saluran versi. Pendekatan ini memungkinkan Anda untuk menjaga versi aplikasi yang berbeda sambil memastikan pengguna menerima pembaruan yang kompatibel.
Skenario Contoh
Bagian berjudul “Skenario Contoh”Mari kita katakan Anda memiliki:
- Versi aplikasi 1.2.3 (versi lama) - menggunakan saluran produksi
- Versi aplikasi 2.0.0 (versi baru dengan perubahan yang memecah) - menggunakan saluran v2
- Pembaruan hidup 1.2.4 (kompatibel dengan 1.2.3)
- Live update 2.0.1 (kompatibel dengan 2.0.0)
Strategi: Selalu Gunakan defaultChannel untuk Versi Utama
Judul Bagian: Strategi: Selalu Gunakan defaultChannel untuk Versi UtamaSaran yang Dianjurkan: Tetapkan sebuah defaultChannel untuk setiap versi utama. Hal ini memastikan Anda selalu dapat memperbarui update ke kelompok pengguna tertentu tanpa bergantung pada penugasan kanal dinamis.
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'1. Buat Saluran untuk Versi Baru
Bab berjudul “1. Buat Saluran untuk Versi Baru”# Create channel for version 2.xnpx @capgo/cli channel create v22. Perbarui Konfigurasi Capacitor untuk Versi 2.0.0
Bagian berjudul “2. Perbarui Konfigurasi Capacitor untuk Versi 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. Kelola Cabang Terpisah Code
Judul Bagian “3. Mengelola Cabang Code Terpisah”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: Jangan pernah memasukkan bundle JavaScript ke aplikasi yang lebih tua yang hanya mendukung code/API native mereka. Selalu bangun pembaruan dari cabang yang tepat:
- cabang pemeliharaan v1: Untuk pembaruan aplikasi 1.x (saluran produksi)
- cabang utama: Untuk pembaruan ke aplikasi 2.x (saluran v2)
4. Unggah Paket ke Saluran yang Sesuai
Bagian berjudul “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 Sendiri
Judul Bagian 5. Aktifkan Penugasan Sendiri# 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 StoreBuat 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 telah dikonfigurasi dalam bundle aplikasi.
Mengalami Skala ke Versi Masa Depan
Judul bagian “Mengalami Skala ke Versi Masa Depan”Ketika Anda merilis 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 } }};Sekarang Anda dapat memperbarui versi apa pun:
productionsaluran → Pengguna versi 1.xv2saluran → Pengguna versi 2.xv3saluran → Pengguna versi 3.x
7. Pembersihan (Setelah Migrasi)
Bagian berjudul “7. Pembersihan (Setelah Pemindahan)”Setelah semua pengguna telah beralih ke versi 2.x (hitung 3-4 bulan):
- Hapus
defaultChanneldari konfigurasi Capacitor Anda - Hapus saluran v2:
npx @capgo/cli channel delete v2- Hapus cabang v1-maintenance:
git branch -d v1-maintenancegit push origin --delete v1-maintenanceSelalu tes pembaruan secara menyeluruh di setiap saluran sebelum di-deploy.
Mengelola Pembaruan Versi 1.x
Bagian berjudul “Mengelola Pembaruan Versi 1.x”Untuk mengirimkan pembaruan yang kompatibel dengan versi 1.x:
- Pindah 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- Buat dan unggah ke saluran produksi:
npx @capgo/cli bundle upload --channel production