Lebih cepat ke konten

Endpoint Perbarui API

GitHub

Berikut adalah contoh code dalam JavaScript untuk mengirimkan pembaruan ke plugin

interface AppInfos {
version_name: string
version_build: string
version_os: string
custom_id?: string
is_prod?: boolean
is_emulator?: boolean
plugin_version: string
platform: string
app_id: string
device_id: string
}
export const handler: Handler = async (event) => {
const body = JSON.parse(event.body || '{}') as AppInfos
const {
platform,
app_id,
version_os,
device_id,
version_name,
version_build,
plugin_version,
} = body
console.log('update asked', platform,
app_id,
version_os,
device_id,
version_name,
version_build,
plugin_version)
if (version_name === '1.0.0') {
return {
version: '1.0.1',
url: 'https://apiurl.com/mybuild_101.zip',
checksum: 'sha256_checksum_of_bundle',
}
}
else if (version_name === '1.0.1') {
return {
version: '1.0.2',
url: 'https://apiurl.com/mybuild_102.zip',
checksum: 'sha256_checksum_of_bundle',
}
}
else {
return {
message: 'Error version not found'
version: '',
url: '',
}
}
}

Untuk bundel tidak terenkripsi, endpoint Anda harus mengembalikan:

{
"version": "1.0.2",
"url": "https://apiurl.com/mybuild_102.zip",
"checksum": "sha256_checksum_of_bundle"
}

Untuk bundle yang dienkripsi, Anda juga perlu termasuk kunci sesi:

{
"version": "1.0.2",
"url": "https://apiurl.com/mybuild_102.zip",
"checksum": "encrypted_checksum_from_encrypt_command",
"session_key": "ivSessionKey_from_encrypt_command"
}

Dan jika tidak ada update atau kesalahan, tambahkan message kunci dan secara opsional error:

{
"message": "Version not found",
"error": "The backend crashed",
"version": "1.0.2",
}
  • checksum: Hash SHA256 dari file zip bundle Anda untuk verifikasi integritas
  • session_key: Diperlukan hanya untuk bundle yang dienkripsi - ini adalah ivSessionKey Ditampilkan oleh perintah enkripsi
  • version: Identifikasi versi di format semver
  • url: URL HTTPS di mana bundle dapat diunduh

Untuk mengetahui cara membuat bundle yang kompatibel dan menghasilkan cek tanda tangan, lihat dokumentasi Untuk bundle yang dienkripsi, lihat dokumentasi.

yang menjelaskan alur enkripsi lengkap. Buat Bundle Untuk mengetahui cara membuat bundle yang kompatibel dan menghasilkan cek tanda tangan, lihat dokumentasi Auto Update

Jika Anda menggunakan Pembaruan Endpoint API untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Menggunakan @capgo/capacitor-updater untuk kemampuan asli di Menggunakan @capgo/capacitor-updater, Capgo CI/CD untuk alur kerja produk di Capgo CI/CD, Capgo Pembangunan Asli untuk alur kerja produk di Capgo Pembangunan Asli, Capgo Integrasi untuk alur kerja produk di Capgo Integrasi, dan Integrasi CI/CD context: Halaman/area: Capgo Builder / produk halaman build awan asli. Peran: Label UI pendek atau item navigasi.