Passer à la navigation

Mise à jour de l'endpoint API

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 bundles non chiffrés, votre point d'entrée devrait retourner :

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

Pour paquets 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 paquet pour la vérification de l'intégrité
  • session_key: Obligatoire uniquement pour les paquets chiffrés - c'est la ivSessionKey retournée par la commande de chiffrement
  • version: Identifiant de version en 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'Endpoint d'actualisation __CAPGO_KEEP_0__ Section intitulée “Continuez de l'Endpoint d'actualisation __CAPGO_KEEP_0__”

Auto Update Mettre à jour l'API Endpoint pour planifier l'automatisation CI/CD, connectez-le avec En utilisant @capgo/capacitor-mise-à-jour pour la capacité native en utilisant En @capgo/capacitor-mise-à-jour, Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Builds natifs pour le flux de travail du produit dans Capgo Builds natifs, 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.