Saltar a contenido

Punto de Actualización API

Aquí hay un ejemplo de code en JavaScript para enviar una actualización al complemento

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

Formato de respuesta

Formato de respuesta

Para Los conjuntos de paquetes no cifrados, su punto de conexión debe devolver:

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

Para Los conjuntos de paquetes cifrados, también debe incluir la clave de sesión:

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

Y si no hay actualización o error, agregue el message clave y opcionalmente un error:

{
"message": "Version not found",
"error": "The backend crashed",
"version": "1.0.2",
}
  • checksum: Hash SHA256 de su archivo zip de paquete para verificar la integridad
  • session_key: Solo es necesario para paquetes cifrados - este es el ivSessionKey devuelto por el comando de cifrado
  • version: Identificador de versión en formato de semver
  • url: URL HTTPS donde el paquete puede ser descargado

Para aprender a crear paquetes compatibles y generar sumas de comprobación, consulte la documentación de Actualización Automática.

Para paquetes cifrados, consulte la documentación de Documentación de paquetes cifrados que explica el flujo de cifrado completo.

Siga adelante desde el punto de actualización de API

Sección titulada “Siga adelante desde el punto de actualización de API”

Si está utilizando Punto de actualización de API para planificar la automatización de CI/CD, conectéalo con Usando @capgo/capacitor-actualizador para la capacidad nativa en Usando @capgo/capacitor-actualizador, Capgo CI/CD para el flujo de trabajo del producto en Capgo CI/CD, Capgo Construcción nativa para el flujo de trabajo del producto en Capgo Construcción nativa Capgo Integraciones para el flujo de trabajo del producto en Capgo Integraciones, y Integración CI/CD para el detalle de implementación en Integración CI/CD.