Intégration CI

Vérifier l’enregistrement Android avec Fastlane

Fastlane peut traiter l’enregistrement comme un prérequis de release, au même titre que la signature, les métadonnées et l’envoi au store. Gardez le contrôle près de la promotion pour viser le package réellement publié.

En bref

Placez le contrôle préalable de l’enregistrement Android avant l’importation ou la promotion effectuée par une lane Fastlane.

Pour qui: Équipes mobile qui utilisent Fastlane supply, gradle ou des lanes personnalisées.

Étapes de publication

  1. Lire l’applicationId depuis la même configuration que la lane.
  2. Extraire l’empreinte du certificat de l’APK signé produit par la lane.
  3. Appeler un endpoint protégé et analyser le champ d’état stable.
  4. Arrêter la lane sur NOT_REGISTERED ou une différence de certificat et fournir le guide de correction.

Repères

Meilleur emplacementAprès la signature, avant l’importation ou la promotion
Sortie d’échecÉtat stable et URL de correction
Ne pas journaliserSecrets ou matériel de signature privé
Point d’attention

Réessayez uniquement en cas d’erreur réseau ou de quota. Une différence d’enregistrement stable exige une correction humaine, pas des appels répétés.

Conseils détaillés

Placer le contrôle après la signature

Une lane Fastlane doit extraire l’identité de l’artefact qu’elle va promouvoir. Un contrôle trop tôt peut viser le mauvais flavor, suffixe de package ou certificat.

Le fragment conserve le code de référence, mais la commande contient la clé dans ses arguments. Avant de l’utiliser, désactivez l’écho et la journalisation de sh, par exemple avec log: false, ou passez par un helper protégé. N’exécutez pas Fastlane avec --troubleshoot en présence d’identifiants, car ce mode réactive les journaux. Analysez ensuite le JSON et levez un UI.user_error! pour les états stables.

  • Compiler et signer avant le contrôle.
  • Désactiver l’écho ou appeler un helper protégé.
  • Ne pas utiliser --troubleshoot avec des identifiants.
Fragment Fastlane à protéger avant utilisation
status = sh("curl --fail --silent -H 'X-Goog-Api-Key: #{ENV.fetch('ANDROID_DEVELOPER_ID_API_KEY')}' '#{endpoint}' | jq -r .state").strip
UI.user_error!("Android package is #{status}") unless status == "REGISTERED"

Saisissez le nom de production et, pour contrôler la signature, l’empreinte SHA-256 du certificat de l’APK livré aux utilisateurs. L’API indique l’état d’enregistrement, pas l’approbation du store.

Lancer la vérification →

Questions fréquentes

La lane doit-elle répéter un contrôle de certificat différent ?

Non. C’est un résultat d’identité stable qui nécessite une investigation.

L’empreinte publique peut-elle apparaître dans les journaux ?

Ce n’est pas la clé privée, mais l’équipe peut limiter les journaux et ne la conserver que dans les preuves de release contrôlées.

Sources et révision

Dernière révision: