Lompat ke konten

Endpoint Perbarui API

GitHub

Here is an example of code in JavaScript to send an update to the 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 yang tidak terenkripsi, endpoint Anda harus mengembalikan:

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

Salin ke clipboard Untukbundel yang terenkripsi

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

, message Salin ke clipboard 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: Hanya diperlukan untuk bundle yang dienkripsi - ini adalah ivSessionKey diputar 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 checksum, lihat Dokumentasi Auto Update.

Untuk bundle yang dienkripsi, lihat Dokumentasi Bundel Terenkripsi yang menjelaskan alur kerja enkripsi lengkap.

Jika Anda menggunakan Endpoint Perbarui API untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Menggunakan @capgo/capacitor-updater untuk kemampuan asli dalam Menggunakan @capgo/capacitor-updater, Capgo CI/CD untuk alur produk dalam Capgo CI/CD, Capgo Pembangunan Asli untuk alur produk dalam Capgo Pembangunan Asli, Capgo Integrasi untuk alur produk dalam Capgo Integrasi, dan Integrasi CI/CD untuk detail implementasi dalam Integrasi CI/CD.