Lebih cepat ke konten utama

Pengembangan Versi

Kirimkan setiap versi asli hanya bundle yang dapat dijalankan

Pengguna memperbarui dari toko dengan kecepatan sendiri, sehingga beberapa versi asli aplikasi Anda hidup sekaligus. Capgo memeriksa dependensi native setiap bundle, memblokir pembaruan oleh aturan versi, dan dapat mengarahkan setiap versi asli ke saluran masing-masing.

Periksa konsistensi native sebelum mengunggah

Kompatibilitas bundle membandingkan paket native di proyek Anda dengan bundle yang berjalan di saluran. Tambahkan --fail-on-incompatible di CI untuk menghentikan unggahan yang memerlukan biner baru.

Kompatibilitas native dokumen

Set lantai versi native pada setiap bundle

Tempatkan saluran pada strategi metadata dan unggah dengan --auto-min-update-version. Perangkat yang memiliki versi native di bawah lantai bundle saluran itu akan melompatinya dan tetap menggunakan bundle saat ini.

Versi targeting dokumen

Block update di garis semver

--disable-auto-update major, minor, atau patch akan mencegah perangkat menerima bundle di luar garis versi native. Aturan-aturan ini hanya membandingkan nomor versi. Mereka tidak memeriksa native code.

Jenis update dan pemblokiran versi

Saluran per versi native

Set defaultChannel di setiap konfigurasi native Capacitor untuk misalnya v2 atau v3. Setiap garis mendapatkan bundle sendiri, dan garis yang lebih tua dapat tetap menggunakan bundle terakhir yang berfungsi.

Versi targeting dokumen

Bagaimana cara kerjanya

Bagaimana tim dengan beberapa versi asli mengirimkan dengan Capgo

Konfigurasi CI yang memungkinkan jalur live update dan jalur toko bekerja secara paralel. Setiap perintah di bawah ini berasal dari dokumen Capgo CLI

  1. Tanyakan apakah komit memerlukan bangunan asli

    build needed membandingkan paket asli Anda dengan kanal. Ini mencetak ya dan keluar dengan code 1 ketika rilis toko diperlukan, dan tidak ketika live update cukup

    npx @capgo/cli@latest build needed com.example.app --channel production
    build needed referensi
  2. Ganti kanal ke strategi metadata

    Lakukan ini sekali. Dari saat itu, setiap bundle membawa versi asli minimum dan perangkat di bawahnya melewatkan bundle

    npx @capgo/cli@latest channel set production com.example.app \
      --disable-auto-update metadata
    Dokumen target versi
  3. Mengunggah update hidup setiap hari

    Tetapkan --auto-min-update-version pada setiap unggahan. --fail-on-incompatible menghentikan pekerjaan jika bundle memerlukan bangunan asli code yang tidak ada di kanal

    npx @capgo/cli@latest bundle upload --channel production \
      --auto-min-update-version \
      --fail-on-incompatible
    Dokumen kompatibilitas asli
  4. Upload bundle untuk rilis native baru

    Ketika binary baru dikirim, unggah bundle tanpa --fail-on-incompatible. Capgo meningkatkan batasan sehingga bangunan yang lebih tua melompatinya, dan periksa kemudian dibandingkan dengan paket native yang baru.

    npx @capgo/cli@latest bundle upload --channel production \
      --auto-min-update-version
    Alur kerja native dan OTA

Migrasi Appflow

Datang dari Ionic Appflow?

Migrasi Appflow memasangkan pembaruan hidup dengan versi native untuk Anda. Di Capgo Anda mendapatkan hasil yang sama dengan saluran dan aturan versi:

  1. Buat saluran untuk setiap garis native, misalnya v1 dan v2.
  2. Tetapkan defaultChannel di setiap bangun native Capacitor konfigurasi ke salurannya.
  3. Unjukkan setiap paket ke saluran garis native yang paket tersebut dibuat.
  4. Keep --auto-min-update-version on uploads so a bundle that needs newer native code skips older builds.
Migrasi Panduan Appflow
Saluran per garis native
// capacitor.config.ts in your 2.x native builds
plugins: {
  CapacitorUpdater: {
    defaultChannel: 'v2',
  },
},

# ship a fix to 2.x users only
npx @capgo/cli@latest bundle upload --channel v2 \
  --auto-min-update-version

# 1.x devices stay on their channel's current bundle

Situasi umum

Plugin native baru

Binary Anda 2.0 menambahkan plugin kamera. Unggah bundle yang menggunakan plugin tersebut dengan --auto-min-update-version, dan perangkat 1.x melompatinya sampai pengguna menginstal 2.0.

Kompatibilitas native dokumentasi

Penyampaian Gradual

Kirimkan paket ke bagian saluran satu dengan --rollout, amati data instalasi dan kegagalan, kemudian promosikan atau kembali ke versi sebelumnya.

Penyampaian Dokumen Rollout Progressif

Pemutusan Versi Lama

Hentikan mengunggah ke saluran v1. Perangkat di dalamnya tetap mempertahankan bundle terakhir yang berfungsi sementara v2 terus menerima update.

Dokumen Targeting Versi

Setiap garis native mengarah ke saluran sendiri

Contoh layout dengan tiga versi native di luar sana.

  • Versi Native 3.x
    v3
    Bundle Baru
  • Aplikasi 2.x
    v2
    Hanya perbaikan
  • Aplikasi 1.x
    v1
    Tidak ada paket baru

Kirim fitur ke v3, perbaikan ke v2, dan tidak ada ke v1. Perangkat pada v1 tetap menggunakan paket terakhir yang berfungsi.

Aplikasi dibangun dengan Capacitor

Aplikasi publik harus mendukung versi native lama dan baru

Aplikasi kesehatan, cuaca, dan civic mungkin mendukung versi Android lama dan generasi perangkat yang berbeda. Target versi menjaga setiap build native pada paket web yang paling kompatibel tanpa memaksa satu jalur pembaruan untuk semua orang.

Logo e-Título SOSIAL

Aplikasi Título

Aplikasi identitas warga yang memerlukan kompatibilitas perangkat publik yang luas.

Grosir Instalasi
54,9M
Nilai Toko
4.8
Icon Aplikasi Conecte SUS KEDOKTERAN

Hubungkan Versi

Aplikasi kesehatan di mana cangkang web yang lebih tua dan lebih baru mungkin memerlukan paket web yang berbeda.

Grosir Instalasi
27,7 juta
Penilaian Toko
4.6
Icon ikon aplikasi Cuaca Windy.com - Cuaca CUACA

Windy.com - Cuaca Perkiraan

Aplikasi cuaca di mana kemampuan perangkat dan kinerja peta dapat berbeda-beda tergantung versi.

Instalasi Google Play
32,9 juta
Penilaian Toko
4.7

Uji Coba Pelanggan

Apa yang Tim yang Mengirimkan Capgo katakan

5.0/5 ditilai oleh tim pengembang 9,400+ tim Baca ulasan

no-tone @ Webincode

Pengembang, Webincode

"Menggunakan ID perangkat untuk menambahkan ke beberapa kelompok dan mengirimkan perubahan hanya ke kelompok tertentu sangat membantu."

Nate van Jole

CTO, Pribadi

“Mengatur semuanya membutuhkan kurang dari sehari. Pengiriman saluran memungkinkan saya untuk menguji di perangkat saya sendiri sebelum apa pun mengenai pengguna produksi.”

Potret Sergiu S

Sergiu S

Pengembang Utama, drivolino GmbH

“Plugin Pembaruan Capgo Capacitor sepenuhnya mengubah cara kami mengirimkan pembaruan. Yang dulunya membutuhkan hari-hari sekarang hanya membutuhkan menit.”

Pertanyaan

Pertanyaan tentang versi di luar sana

Untuk tim yang mendukung pengguna yang memperbarui aplikasi toko di waktu yang berbeda.

Apa yang terjadi pada pengguna yang tidak pernah memperbarui aplikasi native?

They keep receiving bundles that are compatible with their native version. With the metadata strategy, a bundle whose minimum native version is above theirs is skipped, and they stay on their current bundle.

Mereka tetap menerima paket yang kompatibel dengan versi native mereka. Dengan strategi metadata, paket yang memiliki versi native minimum di atas mereka dilewati, dan mereka tetap di bundle mereka saat ini.

Apakah --disable-auto-update cukup besar untuk mencegah kegagalan?

No. Version rules only compare version numbers, so a native change shipped in a minor or patch release still goes out. Use --fail-on-incompatible or --auto-min-update-version, which check your native packages.

Kompatibilitas Nativ

Apakah kami dapat menjaga pembaruan yang sesuai dengan versi?

Run build needed or bundle releaseType against the channel. Both compare native package metadata. They do not see every edit under ios/, android/, or capacitor.config, so gate those paths in git as well.

Apakah jika bundle yang tidak kompatibel sudah keluar?

We are moving from Ionic Appflow. Can we keep version-matched updates?

Ya. Gunakan saluran per garis native dengan defaultChannel, atau strategi metadata dengan --auto-min-update-version. Panduan migrasi Appflow menjelaskan cara pengaturan.

Tautan Dokumen Kompatibilitas

Apa yang terjadi jika paket yang tidak kompatibel sudah keluar?

Point the channel back to the last compatible bundle from its history, or force the built-in bundle, and ship the native build. notifyAppReady() rolls back a bundle that fails to start, but it is not a substitute for compatible native code.

Tautan Dokumen Kompatibilitas

Jaga setiap versi native di dalam bundle yang dapat dijalankan

Atur strategi metadata dan periksa kompatibilitas di CI selama 14 hari percobaan gratis. Tidak perlu kartu kredit.