Saltar al contenido

Punto de actualización API

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 endpoint debería devolver:

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

Para paquetes cifrados, también necesita 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",
}
  • checksumCopy to clipboard
  • session_key: Requerido solo para paquetes cifrados - este es el ivSessionKey devuelto por el comando cifrar
  • version: Identificador de versión en formato semver
  • url: URL HTTPS donde el paquete puede descargarse

Para aprender a crear paquetes compatibles y generar sumas de verificación, consulte la 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ás utilizando Punto de Actualización API para planificar la automatización de CI/CD, conecta 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 CI/CD contexto: Página/área: Capgo Builder / página de producto de construcción nativa en la nube. Rol: Etiqueta de IU corta o elemento de navegación. Clave de mensaje `native_build_feature_ci_cd` (Native Build Feature Ci Cd).