Lompat ke Konten

Endpoint Perbarui API

GitHub

Contoh berikut adalah code di JavaScript untuk mengirimkan update 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 non-terenkripsi, endpoint Anda harus mengembalikan:

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

Untuk bundel 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",
}
  • checksumCopy to clipboard
  • session_keyDiperlukan hanya untuk bundle yang dienkripsi - ini adalah ivSessionKey dihasilkan oleh perintah enkripsi
  • versionVersi identifier dalam format semver
  • urlURL HTTPS di mana bundle dapat diunduh

Untuk mengetahui cara membuat bundle yang kompatibel dan menghasilkan checksum, lihat dokumentasi Pembaruan Otomatis.

Untuk bundle yang dienkripsi, lihat dokumentasi Dokumentasi Bundle yang Dihapuskan yang menjelaskan alur kerja enkripsi lengkap.

Jika Anda menggunakan Update API Endpoint untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Menggunakan @capgo/capacitor-updater untuk kemampuan asli dalam Menggunakan @capgo/capacitor-updater, Capgo CI/CD untuk alur kerja produk dalam Capgo CI/CD, Capgo Native Builds untuk alur kerja produk dalam Capgo Native Builds, Capgo Integrations untuk alur kerja produk di Capgo Integrasi, dan Integrasi CI/CD untuk detail implementasi di Integrasi CI/CD.