Langsung ke konten

Update Otomatis

GitHub

Dokumentasi ini menjelaskan cara menjalankan server auto-update Anda.

Pastikan bundle disajikan melalui HTTPS, dan server memiliki header CORS yang benar agar aplikasi dapat mengunduh update. Contoh: https://myserver.com/app/updates/updates.json

Jika Anda belum terbiasa menyajikan bundle, kami sarankan mencoba Capgo Cloud atau lihat contoh di sini:

Tambahkan updateUrl ke capacitor.config.json.

{
"plugins": {
"CapacitorUpdater": {
"updateUrl": "https://myserver.com/app/updates/updates.json",
}
}
}

Plugin akan melakukan POST call ke API Anda setiap kali aplikasi dibuka, dengan body seperti ini:

interface AppInfos {
"platform": "ios" | "android" | "electron",
"device_id": "UUID_of_device_unique_by_install",
"app_id": "APPID_FROM_CAPACITOR_CONFIG",
"custom_id": "your_custom_id_set_on_runtime",
"plugin_version": "PLUGIN_VERSION",
"version_build": "VERSION_NUMBER_FROM_NATIVE_CODE",
"version_code": "VERSION_CODE_FROM_NATIVE_CODE",
"version_name": "LAST_DOWNLOADER_VERSION" | "builtin"
"version_os": "VERSION_OF_SYSTEM_OS",
"is_emulator": boolean,
"is_prod": boolean,
}

Server API harus merespons dalam format JSON ke plugin capacitor-updater. Gunakan data ini jika update diperlukan:

{
"version": "1.2.3",
"url": "https://myserver.com/app/updates/my-new-app-2.0.0.zip",
"checksum": "sha256_checksum_of_bundle"
}

Dalam mode Auto-update, server harus membandingkan versi dan mengembalikan versi yang tepat; jika URL key tersedia, plugin akan memulai proses download.

Jika Anda menambahkan key “message” dan “error”, versi tidak akan di-set, dan pesan tersebut akan ditampilkan di logs sebagai gantinya.

version key harus dalam semver format.

Zip harus memiliki index.html sebagai file di root, atau hanya satu folder di root dengan index.html di dalamnya.

Anda dapat menggunakan perintah CLI untuk men-zip bundle Anda:

Buat bundle dengan file Anda untuk disajikan dari server Anda
npx @capgo/cli bundle zip --path [/path/to/my/bundle]

Penting: Anda harus menggunakan Capgo CLI untuk membuat file zip bundle Anda. Plugin Capgo memerlukan format dan struktur zip khusus yang hanya dijamin saat menggunakan tool resmi CLI. Utilitas zip standar mungkin membuat arsip yang tidak kompatibel.

Untuk membuat checksum bundle Anda, gunakan perintah Capgo CLI zip dengan --json flag:

Buat bundle dengan informasi checksum
npx @capgo/cli bundle zip [appId] --json

Perintah ini akan:

  • Membuat file zip berformat benar yang kompatibel dengan plugin Capgo
  • Menghasilkan checksum SHA256 untuk verifikasi integritas
  • Menampilkan informasi bundle dalam format JSON

Contoh output:

{
"version": "1.2.3",
"checksum": "a1b2c3d4e5f6789...",
"size": 1234567
}

Gunakan checksum nilai dari output ini dalam respons API Anda untuk memastikan plugin dapat memverifikasi integritas bundle sebelum instalasi.

Jika Anda menggunakan Update Otomatis untuk merencanakan migrasi dan operasional enterprise, hubungkan dengan Menggunakan @capgo/capacitor-updater untuk fitur native di bagian Menggunakan @capgo/capacitor-updater, Capgo Enterprise untuk workflow produk di Capgo Enterprise, Alternatif Plugin Ionic Enterprise untuk workflow produk di Alternatif Plugin Ionic Enterprise, Alternatif Capgo untuk alur kerja produk di Capgo Alternatives, dan Konsultasi Capgo untuk alur kerja produk di Capgo Consulting.