Zum Inhalt springen

Update API-Endpunkt

GitHub

Hier ist ein Beispiel für code in JavaScript, um eine Aktualisierung für das Plugin zu senden

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: '',
}
}
}

Für nicht-verschlüsselte Pakete, Ihre Endpunkt sollte folgendes zurückgeben:

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

Für Verschlüsselte Pakete, Sie müssen auch den Sitzungsschlüssel einbeziehen:

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

Und wenn keine Aktualisierung oder Fehler vorliegen, fügen Sie den message Schlüssel und optional einen error:

{
"message": "Version not found",
"error": "The backend crashed",
"version": "1.0.2",
}
  • checksum: SHA256-Hash Ihres Bundle-Zip-Datei für die Integritätsprüfung
  • session_key: Erforderlich nur für verschlüsselte Pakete - dies ist das ivSessionKey durch den Befehl encrypt zurückgegebene
  • version: Versionsidentifikator in semver-Format
  • url: HTTPS-URL, an der das Paket heruntergeladen werden kann

Um zu erfahren, wie man kompatible Pakete erstellen und Prüfsummen generieren kann, siehe die Auto-Update-Dokumentation.

Für verschlüsselte Pakete siehe die Dokumentation zu verschlüsselten Paketen die den vollständigen Verschlüsselungsworkflow erklärt.

Wenn Sie CI/CD-Automatisierung mit Update __CAPGO_KEEP_0__ Endpoint verwenden Update API Endpoint Um es mit @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-updater zu verbinden Für die native Fähigkeit in @capgo/capacitor-updater, capgo CI/CD for the native capability in Using @capgo/capacitor-updater, Für den Produktworkflow in Capgo Native Builds, Capgo Für den Produktworkflow in Capgo Integrations, Capgo Capgo Native Builds for the product workflow in Capgo Native Builds, Capgo Integrations für den Produktworkflow in Capgo Integrations und CI/CD-Integration für die Implementierungsdetails in CI/CD-Integration.