Nous avons maintenant mis en place un projet logiciel concret et maintenable, il est enfin temps de préparer le déploiement en production en utilisant les bonnes pratiques d'Intégration Continue et de déployer notre application sur l'AppStore !
Ajout d'un outil de Crash report & d'analytics
L'ajout d'un outil de rapport de crash est très important car il vous aidera à supprimer les crashs rencontrés par vos utilisateurs. L'analyse, quant à elle, vous aidera à mieux comprendre le comportement des utilisateurs de votre application, vous pourrez alors comparer s'il correspond à ce que vous avez défini dans la partie Jour 1 – Idée & Prototypage UX .
Vous devriez ensuite l'intégrer dans tous vos projets sérieux avant de le diffuser.
Un outil utile pour obtenir à la fois des analyses et des rapports de crash sont par exemple les SDKs Firebase . L'installation est bien documentée et vous disposerez de divers outils pour classer les comportements de vos utilisateurs.
Vous devriez au moins suivre les événements suivants (anonymisés car vous ne pouvez pas inclure l'identité de vos utilisateurs dans les analytics) :
– lancement/arrêt/skip de l'onboarding
– paramètres/configuration sélectionnés
– événements d'inscription/connection/déconnection
- temps passé sur les écrans principaux de l'application
Les questions les plus intéressantes que vous devriez vous poser sont les suivantes :
"La phase d'onboarding est-elle attrayante ?"
"Quel est votre taux de rétention (utilisateurs toujours engagés) après 2 jours ?"
"Vos utilisateurs sont-ils toujours engagés après 7 jours ? Quels sont les éléments que je peux améliorer ?"
Automatisez vos déploiements avec l'intégration continue
De nombreux outils d'intégration continue sont disponibles sur le marché pour le déploiement d'applications mobiles.
Pour les applications mobiles, il existe actuellement deux alternatives intéressantes :
– Bitrise (très visuel, simple à mettre en place)
Logs CI Bitrise - issus du projet Escape From Blindness, qui permet à l'utilisateur de découvrir comment les utilisateurs aveugles utilisent leurs smartphones dans le cadre d'un jeu de type "Escape Room".
– CircleCI:
Je n'ai parlé que de ces deux-là, mais n'hésitez pas à explorer d'autres solutions et trouver celui qui correspond le mieux à vos attentes.
Comme d'autres outils de CI, il vous aidera entre autre à exécuter des tests unitaires, vérifier la bonne syntaxe et indentation de votre code via l'intégration de Swiftlint et à automatiser les releases AppStore.
Au moment de l'écriture de cet article, la version gratuite est livrée avec 3 postes, mais il n'est pas possible d'effectuer des builds pour MacOS.
L'automatisation des déploiements peut vous faire gagner un temps considérable, en particulier lors de la maintenance du produit.
Toute la configuration est effectuée dans un fichier unique : .circleci/config.yml.
Un workflow Git simple qui convient à la plupart des projets serait:
- Sur chaque commit/pull request sur la branche de production, compiler, tester et déployer
- Sur chaque commit/pull request sur la branche de dévelopment branch, compiler et tester
- Facultatif : Désactivez les workflows sur les branches de fonctionnalités si vous ne souhaitez pas dépenser trop de crédits.
Automatiser les releases avec Fastlane
Fastlane est l'un des meilleurs outils pour automatiser vos déploiements sur l'App Store, améliorant ainsi votre productivité lorsque vous gérez plusieurs projets. Vous pouvez en savoir plus sur sa configuration dans notre blogpost fastlane .
Vous devriez certainement prendre le temps de vous familiariser avec cet outil car il est assez facile à installer et vous aidera à publier vos prochaines versions en gérant les métadonnées de votre application localement, en automatisant les captures d'écran et les builds de release.
App Store Connect
Que vous ayez choisi de télécharger votre application avec Fastlane ou non, vous devez simplement télécharger une nouvelle version sur l'App Store Connect.
Voici quelques conseils pour les métadonnées et la partie Review de l'app store :
- Assurez-vous d'avoir lu au moins une fois les App Store Review Guidelines.
- Effectuez un soft launch. En d'autres termes, vous devriez d'abord lancer l'application dans un pays où le coût d'acquisition des utilisateurs est faible. Sur la base de vos analyses, vous pouvez ensuite améliorer les parties critiques de votre application (les écrans d'accueil, la navigation, les fonctionnalités de base) avant de la diffuser à plus grande échelle.
- Pour la partie description de l'évaluation, soyez aussi descriptif que possible en utilisant des étapes, joignez au moins une capture d'écran et idéalement une vidéo montrant comment parcourir les fonctionnalités de votre application. Mentionnez la capture d'écran et le compte de test s'il y en a un.
- Pour les applications de géolocalisation, si l'évaluateur a besoin d'être localisé à des endroits spécifiques, vous devez lui fournir un mode démo où il peut se déplacer librement et comprendre le concept global de votre application.
Lorsque vous soumettez votre application pour examen, on vous posera des questions sur la conformité à l'exportation et les droits sur le contenu, car cela dépend de votre pays. La question concernant l'IDFA peut sembler complexe, mais elle concerne simplement le fait que vous affichez ou non des publicités dans votre application, l'IDFA étant l'acronyme de "identification pour la publicité".
En fonction du framework que vous utilisez pour les publicités (par exemple AdMob, UnityAds), vous pouvez rechercher les réponses correctes.
Le processus de déploiement d'une application sur le Google Play Store est assez similaire, nous ne donnerons donc pas trop de détails ici.
Félicitations !
Suite à toutes ces étapes, vous pouvez prendre le temps de célébrer la release de votre application !
Nous espérons que vous avez apprécié cette introduction au processus général de lancement d'une application simple sur le marché des applications iOS !
Si vous avez besoin d'acquérir de l'expérience dans la partie développement, vous pouvez trouver des tutoriels ainsi que des dépôts Github entièrement disponibles dans la section Formations .
Vous pouvez également lire nos blogposts dans la section Dev Blog .