Pindah ke Konten Utama

Cordova Hot Code Push Alternative in 2026

cordova-hot-code-push and CodePush for Cordova are dead. Here is a maintained Cordova hot code push alternative with setup, migration steps and rollback.

Cordova Hot Code Push Alternative in 2026

If you are searching for a Cordova hot code push alternative, it is probably because cordova-hot-code-push-plugin dan Microsoft's CodePush untuk Cordova keduanya berhenti berfungsi atau tidak lagi dipelihara. Pilihan yang masih dipelihara saat ini adalah @capgo/cordova-updater, a Cordova plugin that brings Capgo live updates to Cordova Android 13+ and Cordova iOS 7+ apps, with channels, rollback and encrypted bundles, without forcing you to migrate to Capacitor first.

Kondisi Live Update Cordova pada 2026

cordova-hot-code-push telah diarsipkan

The nordnet/cordova-hot-code-push repository telah diarsipkan di GitHub. Perubahan terakhir pada code terjadi pada September 2018 dan rilis terakhir dari npm cordova-hot-code-push-plugin is 1.5.3. It was designed for the Cordova platforms and file based WebView loading of that time. Modern Cordova Android serves the app from https://localhost melalui handler jalur, dan Cordova iOS menggunakan WKWebView dengan sebuah app:// skema. Sebuah plugin yang mengasumsikan file:// loading does not fit that model, and no one is updating it.

Existing installs may still appear to work if you never update Cordova platforms. That is the trap: you cannot move to a current Cordova Android or Xcode without risking the update mechanism.

CodePush untuk Cordova telah dihapus

Microsoft telah menghentikan dukungan cordova-plugin-code-pushDi tahun 2022, App Center menghentikan dukungan Cordova dan menghentikan layanan inti App Center, termasuk build, distribusi, dan CodePush, pada tanggal 31 Maret 2025. Plugin ini berbicara dengan layanan CodePush di App Center, sehingga tidak ada backend yang tersisa untuk menyajikan pembaruan. Jika Anda telah beralih ke hosting sendiri layanan CodePush, Anda masih bergantung pada plugin klien yang sudah diarsipkan.

Ionic Appflow

cordova-plugin-ionic Aplikasi Cordova yang terhubung ke Ionic Appflow pembaruan hidup. Ionic telah mengumumkan bahwa Appflow akan dihentikan, sehingga tim yang menggunakan layanan ini sedang mencari pengganti. Kami membahas jalur tersebut dalam panduan pengganti Appflow. Apa yang dibutuhkan pengganti.

Apa yang dibutuhkan untuk pengganti

Sebelum memilih alat mana pun, pastikan alat tersebut memenuhi persyaratan berikut:

Requirement Mengapa ini penting
Bekerja dengan Cordova Android dan iOS saat ini Persyaratan toko memaksa pembaruan platform: Xcode 26 untuk unggahan ke App Store sejak April 2026, dan pembaruan target Android tahunan API di Google Play
Tidak ada ketergantungan pada cordova-plugin-ionic-webview Plugin tersebut sudah ketinggalan zaman dan mengalami konflik dengan pengaturan handler modern.
Rollback Otomatis A bad bundle must not brick the app
Saluran Tes pada pengguna internal sebelum semua orang
Bundle yang ditandatangani atau dienkripsi Mencegah manipulasi code yang dikirimkan melalui jaringan
Pengaturan Versi Jangan kirimkan JavaScript yang memerlukan shell native yang lebih baru
CLI yang ramah CI Keluaran harus menjadi satu perintah dalam pipa Anda
Dipelihara Cek keluaran terbaru, bukan hanya bintang

Capgo untuk Cordova

@capgo/cordova-updater menggunakan JavaScript API yang sama seperti @capgo/capacitor-updater dan backend Cloud Capgo yang sama. Paket, saluran, statistik dan tanda tangan bekerja sama untuk klien Cordova, Capacitor dan Electron.

Peralatan

  • Cordova CLI 12+
  • Cordova Android 13+ (default https://localhost/ scheme)
  • Cordova iOS 7+ (default app://localhost/ scheme)
  • cordova-plugin-ionic-webview dihapus)

Periksa platform Anda:

cordova platform ls

Perbarui jika perlu:

cordova platform rm android && cordova platform add android@latest
cordova platform rm ios && cordova platform add ios@latest

Pasang

Buat aplikasi di Capgo (dashboard atau CLI), kemudian tambahkan plugin dengan ID aplikasi Anda:

bunx @capgo/cli@latest login
bunx @capgo/cli@latest app add com.example.app --name "My Cordova App"

cordova plugin add @capgo/cordova-updater --variable APP_ID=com.example.app
cordova prepare android ios

Anda dapat mengatur lebih banyak opsi pada saat instalasi. Opsi-opsi ini adalah variabel plugin, jadi jalankan cordova prepare setelah mengubahnya:

cordova plugin add @capgo/cordova-updater \
  --variable APP_ID=com.example.app \
  --variable DEFAULT_CHANNEL=production \
  --variable AUTO_UPDATE=atBackground \
  --variable APP_READY_TIMEOUT=10000

AUTO_UPDATE defaultnya adalah atBackgroundCapgo memiliki mode lainnya, seperti Live Update, yang mengunduh pembaruan di latar belakang dan menerapkan mereka ketika aplikasi di background. atInstall, onLaunch and off Untuk kontrol sepenuhnya manual.

untuk kendali manual yang sepenuhnya.

Beritahu plugin bahwa aplikasi dimulai dengan benar notifyAppReady() setiap kali aplikasi dijalankan devicereadyJika sebuah bundle baru tidak memanggilnya APP_READY_TIMEOUT milisecond, plugin ini menandainya gagal dan kembali ke bundle yang berfungsi terakhir.

document.addEventListener('deviceready', async () => {
  const { Updater } = cordova.plugins;
  await Updater.notifyAppReady();
}, false);

Panggilnya setelah aplikasi Anda telah benar-benar di render, bukan di awal skrip, sehingga bundle yang gagal selama startup dapat terdeteksi.

Alur pembaruan manual

Jika Anda menyetel AUTO_UPDATE=off, Anda mengontrol kapan untuk memeriksa, mengunduh dan menerapkan:

document.addEventListener('deviceready', async () => {
  const { Updater } = cordova.plugins;
  await Updater.notifyAppReady();

  const latest = await Updater.getLatest();
  if (latest.url && !latest.error) {
    const bundle = await Updater.download({
      url: latest.url,
      version: latest.version,
      checksum: latest.checksum,
    });
    // Applied on next background/restart
    await Updater.next({ id: bundle.id });
  }
});

Tipi TypeScript dikirimkan dengan paket:

import type { UpdaterPlugin } from '@capgo/cordova-updater';

declare const cordova: { plugins: { Updater: UpdaterPlugin } };

Publikasikan pembaruan

Buatlah www folder dan unggahnya:

bun run build
bunx @capgo/cli@latest bundle upload com.example.app --path ./www --channel production

Masukkan itu setelah tes Anda. The halaman pembaruan hidup menampilkan peluncuran saluran, statistik dan kembali ke dashboard.

Migrasi dari cordova-hot-code-push

  1. Hapus plugin lama dan konfigurasinya. Hapus cordova-hot-code-push-plugin, bagian chcp , dan bagian config.xml,dan Capgo. cordova-hcp CLI and chcp.json / chcp.manifest Pengembangan dari build Anda.
  2. Remove cordova-plugin-ionic-webview Jika ada, dan tes bahwa aplikasi berjalan di WebView Cordova default.
  3. ke Android 13+ dan iOS 7+. ke Android 13+ dan iOS 7+.
  4. Install @capgo/cordova-updater dan tambahkan notifyAppReady().
  5. Rilis versi toko baru. Instalasi lama tetap menggunakan plugin lama. Hanya biner baru yang mengandung pembaruan Capgo.
  6. Upload bundle pertama Anda ke saluran uji, periksa di perangkat, lalu promosikan ke produksi.

Pengguna yang tidak melakukan pembaruan dari toko tetap menggunakan mekanisme lama hingga mereka melakukan pembaruan. Jika masih berfungsi, jaga server pembaruan lama online selama transisi, atau terima bahwa pengguna tersebut tidak akan mendapatkan pembaruan OTA hingga mereka menginstal biner baru.

Migrasi dari CodePush untuk Cordova

  • Ganti codePush.sync() dengan notifyAppReady() dan entah mode otomatis atau aliran getLatest / download / next flow.
  • Ganti kunci pengiriman dengan saluran (DEFAULT_CHANNEL).
  • Ganti code-push release-cordova Dengan bunx @capgo/cli@latest bundle upload.
  • Hapus CodePushDeploymentKey preferensi dari config.xml.

Untuk versi langkah demi langkah yang ditujukan bagi pengguna App Center, lihatlah Enkripsi dan tanda tangan..

Keamanan dan Aturan Penyimpanan

  • Enkripsi dan tanda tangan. Set PUBLIC_KEY Pada saat instalasi dan gunakan kunci enkripsi CLI, sehingga perangkat hanya menerima bundle yang ditandatangani untuk aplikasi Anda.
  • Kebijakan Apple dan Google. Both allow updating interpreted code such as JavaScript over the air, as long as you do not change the app’s purpose or add features that would need review. Native code, new plugins and permission changes need a store release.
  • Target versi. Jika sebuah bundle memerlukan plugin native yang hanya ada di versi binary yang lebih baru, sasarlah ke versi native tersebut. Dokumen Capgo Kompatibilitas live update Pengaturan

Troubleshooting

Aplikasi mengunduh paket tetapi menampilkan versi lama. Anda masih menggunakan cordova-plugin-ionic-webviewAtur ulang ke default, atau gunakan skema yang diinginkan.

Build iOS gagal setelah pembaruan platform. notifyAppReady() Tidak dipanggil, atau dipanggil setelah terjadi kesalahan. Periksa konsol perangkat dan pastikan panggilan berjalan pada setiap start.

Build iOS gagal setelah pengupgrade platform. Cordova iOS 7+ memerlukan Xcode yang saat ini. Unggah ke App Store memerlukan Xcode 26. Anda dapat menghasilkan aset tanda tangan dengan Penghasil Sertifikat iOS. Setelah Anda beralih ke Capacitor Capgo Build Dapat menghasilkan aplikasi iOS yang ditandatangani di cloud tanpa perlu Mac lokal.

Perubahan tidak berfungsi pada iOS. Perbarui bekerja pada Android tetapi tidak pada iOS. config.xml Periksa bahwa skema iOS di app skema dengan localhost dengan

Should you move to Capacitor instead?

You do not have to. Capgo for Cordova exists so you can keep shipping while you decide. Capacitor brings a maintained native layer, Swift Package Manager on iOS, and a larger plugin ecosystem. When you are ready, keep the same Capgo app ID and channels and swap the client plugin. Our Petunjuk migrasi dari Cordova ke Capacitor mengulasnya.

Update Langsung untuk Aplikasi Capacitor

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

Terbaru dari Blog Kami

Capgo gives you the best insights you need to create a truly professional mobile app.