Lompat ke konten

Auto Update

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 dalam capacitor.config.json.

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

Plugin akan melakukan panggilan POST ke API 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. 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 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 di dalamnya.

Anda dapat menggunakan perintah dari CLI untuk mengarsipkan bundle Anda:

Buatlah arsip 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 arsip zip bundle Anda. Plugin Capgo memerlukan format dan struktur arsip zip tertentu yang 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 dengan flag: --json flag:

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

Perintah ini akan:

  • Buat file zip yang sesuai dengan plugin Capgo
  • Menghasilkan checksum SHA256 untuk verifikasi integritas
  • Tampilkan informasi bundle dalam format JSON

Contoh output:

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

Gunakan nilai dari output ini dalam respons __CAPGO_KEEP_0__ Anda untuk memastikan plugin dapat memverifikasi integritas bundle sebelum instalasi. checksum gunakan perintah zip API __CAPGO_KEEP_1__ dengan flag: __CAPGO_KEEP_2__

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