Saltare al contenuto

Aggiorna endpoint API

GitHub

Ecco un esempio di code in JavaScript per inviare un aggiornamento al 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: '',
}
}
}

Per i pacchetti non crittografati, il tuo endpoint dovrebbe restituire:

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

Per i pacchetti crittografati, hai anche bisogno di includere la chiave della sessione:

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

E se nessun aggiornamento o errore, aggiungi il message chiave e facoltativamente un error:

{
"message": "Version not found",
"error": "The backend crashed",
"version": "1.0.2",
}
  • checksum: Hash SHA256 del file zip del bundle per la verifica dell'integrità
  • session_key: Richiesto solo per i bundle crittografati - è il ivSessionKey ritornato dal comando di crittografia
  • version: Identificatore di versione in formato semver
  • url: URL HTTPS dove il bundle può essere scaricato

Per imparare a creare bundle compatibili e generare checksum, vedere la documentazione di Auto Aggiornamento.

Per bundle criptati, vedere la documentazione di Bundle Criptati che spiega il flusso di cifratura completo.

Se stai utilizzando Aggiornamento API Endpoint per pianificare l'automazione CI/CD, connettilo con Utilizzando @capgo/capacitor-aggiornatore per la capacità nativa in Utilizzo di @capgo/capacitor-aggiornatore, Capgo CI/CD per il flusso di lavoro del prodotto in Capgo CI/CD, Capgo Costruzioni native per il flusso di lavoro del prodotto in Capgo Costruzioni native, Capgo Integrazioni per il flusso di lavoro del prodotto in Capgo Integrazioni, e Integrazione CI/CD per il dettaglio di implementazione in Integrazione CI/CD.