Lompat ke Konten

Auto Update

GitHub

Dokumentasi ini akan menjelaskan cara menjalankan server auto-update Anda.

Pastikan bundle Anda disajikan melalui HTTPS, dan server memiliki header CORS yang tepat untuk memungkinkan aplikasi mengunduh update. Contoh: https://myserver.com/app/updates/updates.json

Jika Anda tidak familiar dengan penyajian bundle, kami merekomendasikan Anda mencoba Capgo Cloud atau melihat contoh di sini:

Tambahkan updateUrl ke aplikasi capacitor.config.json.

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

Plugin akan melakukan panggilan POST ke API Anda setiap kali aplikasi dibuka, dengan tubuh 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 memberikan respons dalam format JSON untuk plugin pembaruan capacitor. Dengan data ini jika pembaruan 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 pembaruan otomatis, server harus membandingkan versi dan mengembalikan versi yang tepat, jika kunci URL ada, plugin memulai proses download.

Jika Anda menambahkan kunci “message” dan “error”, versi tidak akan diset, dan pesan akan ditampilkan di log bukan.

version Kunci harus ada di semver format.

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

Anda dapat menggunakan perintah dari CLI untuk mengarsipkan bundle Anda:

Buatlah arsip dengan file-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 tertentu yang hanya dapat dipastikan ketika menggunakan alat resmi CLI. Utilitas zip standar mungkin menciptakan arsip yang tidak kompatibel.

Untuk menghasilkan ceksum untuk bundle Anda, gunakan Capgo CLI perintah zip dengan --json flag:

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

Perintah ini akan:

  • Membuat file zip yang sesuai dengan plugin Capgo
  • Menghasilkan ceksum SHA256 untuk verifikasi integritas
  • Informasi tentang bundle keluaran dalam format JSON

Contoh keluaran:

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

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

Lanjutkan dari Auto Update

Jika Anda menggunakan

Auto Update untuk merencanakan migrasi dan operasi perusahaan, hubungkan dengan Menggunakan @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-updater untuk kemampuan asli dalam Menggunakan @capgo/capacitor-updater, Jika Anda menggunakan Auto Update untuk merencanakan migrasi dan operasi perusahaan, hubungkan dengan @capgo/capacitor-updater Capgo Bisnis untuk alur kerja produk di Capgo Bisnis, Alternatif Plugin Bisnis Enterprise Ionic untuk alur kerja produk di Alternatif Plugin Bisnis Enterprise Ionic, Capgo Alternatif untuk alur kerja produk di Capgo Alternatif, dan Capgo Konsultasi untuk alur kerja produk di Capgo Konsultasi.