Update API Endpoint
Berikut adalah contoh kode dalam JavaScript untuk mengirim 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: '', } }}Format Response
Section titled “Format Response”Untuk bundle tidak terenkripsi, endpoint Anda harus mengembalikan:
{ "version": "1.0.2", "url": "https://apiurl.com/mybuild_102.zip", "checksum": "sha256_checksum_of_bundle"}Untuk bundle terenkripsi, Anda juga perlu menyertakan session key:
{ "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 pembaruan atau error, tambahkan kunci message dan opsional error:
{ "message": "Version not found", "error": "The backend crashed", "version": "1.0.2",}Deskripsi Field
Section titled “Deskripsi Field”checksum: Hash SHA256 dari file zip bundle Anda untuk verifikasi integritassession_key: Diperlukan hanya untuk bundle terenkripsi - ini adalahivSessionKeyyang dikembalikan oleh perintah encryptversion: Identifier versi dalam format semverurl: URL HTTPS di mana bundle dapat diunduh
Pembuatan Bundle
Section titled “Pembuatan Bundle”Untuk mempelajari cara membuat bundle yang kompatibel dan menghasilkan checksum, lihat dokumentasi Auto Update.
Untuk bundle terenkripsi, lihat dokumentasi Encrypted Bundles yang menjelaskan alur kerja enkripsi lengkap.