Passer à la navigation

Mise à jour API Endpoint

GitHub

Voici un exemple de code en JavaScript pour envoyer une mise à jour du 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: '',
}
}
}

Pour les bundles non chiffrés, votre point d'entrée doit retourner :

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

Pour les bundles chiffrés, vous devez également inclure la clé de session :

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

Et si aucune mise à jour ou erreur, ajoutez la message clé et facultativement un error:

{
"message": "Version not found",
"error": "The backend crashed",
"version": "1.0.2",
}
  • checksum : Hash SHA256 de votre fichier zip de bundle pour vérification d'intégrité
  • session_key : Obligatoire uniquement pour les bundles chiffrés - ceci est le ivSessionKey retourné par la commande de chiffrement
  • version : Identifiant de version au format semver format semver
  • url: URL HTTPS où le bundle peut être téléchargé

Pour apprendre à créer des archives compatibles et générer des checksums, consultez la documentation de l'auto-mise à jour.

Pour les archives chiffrées, consultez la documentation des archives chiffrées qui explique l'ensemble du flux de chiffrement.

Si vous utilisez Mise à jour API Endpoint pour planifier l'automatisation CI/CD, connectez-l’avec Utiliser @capgo/capacitor-moteur de mise à jour pour la capacité native en utilisant @capgo/capacitor-mise à jour Capgo CI/CD pour le flux de travail du produit en Capgo CI/CD, Capgo Builds natifs pour le flux de travail du produit en Capgo Builds natifs, Capgo Intégrations pour le flux de travail du produit en Capgo Intégrations, et Intégration CI/CD pour le détail d'implémentation en Intégration CI/CD.