Lebih lanjut ke konten

Pembaruan Otomatis

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 pembaruan. 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 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 isi tubuh sebagai berikut:

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 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 yang tepat, jika kunci URL ada, plugin memulai proses download.

Jika Anda menambahkan kunci "message" dan "error", versi tidak akan ditetapkan, dan pesan akan ditampilkan di log.

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 bundle dengan file-file yang akan Anda layani dari server Anda
npx @capgo/cli bundle zip --path [/path/to/my/bundle]

Perlu diingat: Anda harus menggunakan Capgo CLI untuk membuat file zip bundle Anda. Plugin Capgo memerlukan format dan struktur zip yang spesifik dan hanya dapat dipastikan ketika menggunakan alat resmi CLI. Utilitas zip standar mungkin menciptakan arsip yang tidak kompatibel.

Untuk menghasilkan checksum untuk bundle Anda, gunakan perintah zip Capgo CLI di terminal. --json flag:

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

Mengapa ini akan dilakukan:

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

Misalnya hasilnya:

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

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

If Anda menggunakan Pembaruan Otomatis untuk merencanakan migrasi dan operasi bisnis, hubungkannya dengan Menggunakan @capgo/capacitor-updater untuk kemampuan asli di Menggunakan @capgo/capacitor-updater, Capgo Enterprise Untuk alur kerja produk di Capgo Enterprise, Alternatif Plugin Ionic Enterprise Untuk alur kerja produk dalam Ionic Enterprise Plugin Alternatif, Alternatif Capgo untuk alur kerja produk dalam Capgo Alternatif, dan Konsultasi Capgo untuk alur kerja produk di Capgo Consulting.