Lompat ke Konten

Auto Update

GitHub

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

Pastikan bundel Anda disajikan melalui HTTPS, dan server memiliki header CORS yang tepat untuk memungkinkan aplikasi mengunduh update. Contoh: Jika Anda tidak familiar dengan penyajian bundel, kami merekomendasikan Anda mencoba __CAPGO_KEEP_0__ Cloud atau melihat contoh di sini: https://myserver.com/app/updates/updates.json

If you’re unfamiliar with serving a bundle, we recommend you try Capgo Cloud or see an example here:

Tambahkan updateUrl ke aplikasi Anda 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 menjawab, dalam format JSON, ke plugin pembarui 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"
}

Pada 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 dalam semver format.

Arsip zip harus memiliki index.html sebagai file di root, atau hanya satu folder di root dengan index.html di 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 paket Anda. Plugin Capgo memerlukan format zip khusus dan struktur yang hanya dapat dipastikan ketika menggunakan alat resmi CLI. Utilitas zip standar mungkin menciptakan arsip yang tidak kompatibel.

Untuk menghasilkan ceksum untuk paket Anda, gunakan Capgo CLI zip command dengan --json flag:

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

Perintah ini akan:

  • Buat file zip yang sesuai dengan plugin Capgo
  • Menghasilkan ceksum SHA256 untuk verifikasi integritas
  • Informasi 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.

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