Saltar a contenido

Actualizar API Endpoint

GitHub

Aquí hay un ejemplo de code en JavaScript para enviar una actualización 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: '',
}
}
}

Para paquetes no cifrados, su punto de conexión debería devolver:

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

Para 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 semver
  • url: URL HTTPS donde el paquete puede ser descargado

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

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

Si está utilizando Punto de actualización API para planificar la automatización de CI/CD, conecte 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 Compilaciones nativas para el flujo de trabajo del producto en Capgo Compilaciones nativas, Capgo Integraciones para el flujo de trabajo del producto en Capgo Integraciones, y Integración de CI/CD para el detalle de implementación en Integración de CI/CD.