Pandarine Pandarine
← Journal
Mise en production

Ce qu'il faut pour sortir sur les deux boutiques

Le studio

Un seul code, deux boutiques. Elles ne s'accordent quasiment sur rien d'autre, et l'essentiel de la distance entre un build terminé et une fiche en ligne n'est pas du code.

Ce qui se décide avant la première ligne

  • Un identifiant unique des deux côtés. L'identifiant de bundle iOS et le nom de paquet Android doivent être la même chaîne, et ça se décide le premier jour : en changer un plus tard, c'est repartir sur une nouvelle fiche et une nouvelle base installée.
  • iOS réclame une phrase, pas une case à cocher. Chaque autorisation sensible porte sa propre explication, affichée à la personne au moment où on la lui demande. Mal écrite, elle revient à demander ses déplacements à un inconnu sans lui dire pourquoi.
  • Android réclame la permission déclarée. La reconnaissance d'activité pour un compteur de pas, et ainsi de suite pour le reste : le manifeste annonce d'emblée tout ce que l'application demandera un jour.
  • Trois calques d'icône sur Android. Avant-plan, arrière-plan et monochrome, parce que le lanceur les compose différemment et que c'est le calque monochrome qu'utilisent les icônes thématiques.

Trois profils de compilation

La configuration de build en prévoit trois : développement, prévisualisation et production. Le premier embarque le client de développement, seule façon d'obtenir un jour des capteurs en arrière-plan. Le deuxième produit une version interne à donner à un testeur. Le troisième incrémente le numéro de build tout seul, et c'est bien la dernière chose à faire à la main : un numéro déjà utilisé se fait refuser après l'envoi, pas avant.

Ni du code, ni un formulaire

  • Les comptes développeur. Celui d'Apple est un abonnement annuel, celui de Google un paiement unique, et aucun des deux ne s'obtient dans la minute.
  • Google demande à un nouveau compte développeur personnel de mener un test fermé avec un groupe de testeurs pendant plusieurs jours avant d'ouvrir la production. C'est une ligne d'agenda, pas une case à cocher.
  • Les deux boutiques veulent une déclaration de données : confidentialité d'un côté, sécurité des données de l'autre. Quand rien ne quitte l'appareil, la réponse est courte — mais une réponse courte se remplit quand même, et doit correspondre à ce que fait réellement le binaire.
  • Une classification d'âge, et avec elle une question à se poser tôt : un mécanisme qu'un paiement permet d'éviter, c'est exactement le schéma que les évaluateurs regardent sur les applications susceptibles de toucher des mineurs.

Le fichier apple-app-site-association appartient à la même liste. Les liens universels ont besoin d'un fichier à la racine d'un domaine, ce qui est une des raisons pour lesquelles chaque produit reçoit ici son propre hôte plutôt qu'un dossier.

Rien de tout cela n'est difficile. Tout est séquentiel, et l'essentiel ne peut pas commencer le jour où le build est prêt.

Voir ce qu'est Klomi →

Journal

Tous les articles