Lebih lanjut ke konten

Auto Update

GitHub

Documentasi 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. e.g. https://myserver.com/app/updates/updates.json

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

Tambahkan updateUrl ke dalam 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 merespons, dalam format JSON, ke plugin pembarui capacitor-updater. Dengan data ini jika perbarui 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 pembarui otomatis, server harus membandingkan versi dan mengembalikan yang tepat, jika kunci URL hadir, plugin memulai proses download.

Jika Anda menambahkan kunci “pesan” dan “error”, versi tidak akan ditetapkan, 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 mengompres bundle Anda:

Buatlah bundle 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 zip dan struktur 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 perintah Capgo CLI zip dengan flag: --json Buat bundle dengan informasi ceksum

Salin ke clipboard
npx @capgo/cli bundle zip [appId] --json

__CAPGO_KEEP_0__ __CAPGO_KEEP_1__ __CAPGO_KEEP_2__ __CAPGO_KEEP_3__

  • Membuat file zip yang sesuai dengan format Capgo plugin
  • Generate SHA256 checksum untuk verifikasi integritas
  • Tampilkan 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 Auto Update untuk merencanakan migrasi dan operasi bisnis, hubungkannya dengan Untuk menggunakan @capgo/capacitor-updater untuk kemampuan asli di Using @capgo/capacitor-updater, Capgo Enterprise for the product workflow in Capgo Enterprise, untuk alur kerja produk di __CAPGO_KEEP_0__ Enterprise, Alternatif Plugin Ionic Enterprise Capgo Alternatives Capgo Alternatif untuk alur kerja produk di Capgo Alternatif, dan Capgo Konsultasi