Passer à la navigation

Mettre à jour l'API Endpoint

GitHub

Voici un exemple de code en JavaScript pour envoyer une mise à jour au 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 lots non chiffrés, votre point de terminaison devrait retourner :

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

Pour fichiers 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 le message clé et optionnellement un error:

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

Pour apprendre à créer des bundles compatibles et générer des checksums, voir la documentation de l'actualisation automatique Pour les bundles chiffrés, voir la documentation des Bundles chiffrés.

qui explique l'ensemble du workflow de chiffrement Continuez de l'actualisation __CAPGO_KEEP_0__ Section intitulée “Continuez de l'actualisation __CAPGO_KEEP_0__”

Si vous utilisez Mettre à jour l'API Endpoint pour planifier l'automatisation CI/CD, connectez-le à En utilisant @capgo/capacitor-mise à jour pour la capacité native dans En utilisant @capgo/capacitor-mise à jour, Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Constructions natives pour le flux de travail du produit dans Capgo Constructions natives, Capgo Intégrations pour le flux de travail du produit dans Capgo Intégrations, et Intégration CI/CD pour le détail d'implémentation dans Intégration CI/CD.