Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

Android : La publication d'une application

Travailler avec Crashlytics

Testez gratuitement nos 1336 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Avec votre formateur, suivez une mise en place de Crashlytics, de manière à remonter les informations les plus pertinentes possibles.
05:49

Transcription

Dans cette vidéo, je vais vous montrer une façon de travailler avec Crashlitics. Dans la vidéo précédente, on a remonté une erreur si l'utilisateur n'avait pas affiché sa position. C'est le genre d'erreurs qui ne nous apporte rien d'être remonté. Tout simplement parce qu'on ne peut rien y faire, c'est la faute de l'utilisateur s'il n'a pas activé sa position, on lui a indiqué qu'il fallait le faire, il est inintéressant d'être au courant des utilisateurs qui ne l'ont pas fait, ce qu'on va appeler une erreur logique. Nous, notre intérêt va être plutôt de remonter des erreurs techniques c'est-à-dire des erreurs où on va devoir intervenir en tant que développeurs par exemple, parce que notre code est mal conçu, parce que notre serveur ne répond plus et ainsi de suite. C'est ce genre d'erreurs qu'on va essayer de remonter à Crashlytics Crashlytics permet de configurer et d'envoyer des mails dans le cas où une erreur se produit, ce qui nous permet d'intervenir rapidement Pour travailler avec Crashlytics, je vais créer une nouvelle exception que je vais appeler « MyException ». Elle va étendre de « Exception », elle ne va apporter qu'une chose, c'est un attribut « sendToCrashlytics » qui va nous indiquer si cette erreur doit être remontée à Crashlytics ou non. La classe « Exception » possède plusieurs constructeurs, j'en ai juste redéfini deux ici pour l'exemple mais on peut tous les faire, et pour chacun d'eux, j'ai simplement rajouté l'attribut « sendToCrashlytics ». Le getter et le setter. Maintenant je vais revenir sur la classe « LogUtils ». « LogUtils » permettait d'afficher tous les logs. On avait créé une méthode qui permet d'afficher les exceptions. Cette méthode affiche les exceptions uniquement si on est mode debug. Maintenant, on va pouvoir aller plus loin, on va pouvoir faire « if » mon exception est de type « MyException » et comme c'est une « MyException », je peux la « caster » en « MyException... .isSendToCrashlytics ». Donc, en gros est-ce que mon exception est de type MyException et est-ce que je dois l'envoyer à Crashlytics, dans ce cas-là, je l'envoie à Crashlytics, « logException ». Voilà, ce qui me permet de filtrer toutes les exceptions que je vais renvoyer Allons dans « MapsActivity ». Dans MapsActivity, cette méthode nous renvoie le chemin à afficher sur la carte donc le chemin entre ma position et la borne, grâce à ça, je vais pouvoir détecter qu'ici j'ai oublié de traiter un cas. Le cas : est-ce que mon utilisateur est suffisamment proche de Toulouse pour pouvoir afficher le trajet ? Donc, j'ai pu remonter une erreur et je pourrais traiter ce cas derrière. Deuxième point : si maintenant j'ai une exception que je n'ai pas créée que ça soit une autre librairie ou autre, si je veux la transformer en type MyException, donc ici on va repasser par LogUtils pour afficher mon exception sauf qu'ici, l'erreur que je reçois, admettons que ce n'est pas moi qui l'ai créée, que ce soit un logiciel ou une librairie ou n'importe quoi que j'utilise. Si je veux la transformer en MyException, il suffit de faire « new MyException » j'affiche mon message, et le deuxième paramètre, le « throwable », c'est justement de lui transmettre une exception déjà existante. Maintenant, je vais pouvoir choisir si je veux l'envoyer ou non, on va dire que je l'envoie. Il est très important quand on crée une nouvelle exception, de transmettre l'ancienne, c'est ce qui nous permet de compléter l'exception existante sinon, je vais partir d'une nouvelle exception si je ne transmets pas cette exception-là, je vais partir d'une nouvelle où la seule chose que j'aurai c'est « Erreur » ce qui ne m'aidera pas à corriger le problème. En transmettant cette exception, il va compléter cette exception existante avec celle-là et je vais me retrouver avec une « stack trace » plus complète et je pourrais donc plus facilement gérer l'erreur. Dernier point, pour fonctionner avec Crashlytics, je peux mettre un système à jour, par exemple dans LogUtils où je vais pouvoir créer une méthode « public static void » par exemple « RafraichirInformation » et ici, je vais pouvoir passer tout un tas d'informations que je stockerai dans Crashlytics, c'est ce que nous avons vu dans une vidéo précédente et ici, je vais passer l'identifiant, l'e-mail, le nom et d'autres champs, c'est-à-dire que je peux rajouter d'autres éléments « Crashlytics.set », par exemple je vais pouvoir transmettre cette string, je vais pouvoir transmettre la localisation de mon utilisateur, je vais créer une clé et dans ce cas-là, je vais faire « if (location != null) » je transmets la localisation. Alors, attention au danger : transmettre la localisation c'est une donnée personnelle de l'utilisateur, un serveur comme Crashlytics, il faut l'indiquer dans vos conditions générales d'utilisation car vous jouez avec les données de votre utilisateur. « .toString ». Pour le rafraîchissement des informations, je vais pouvoir transmettre un tas d'éléments que je mets à jour. Tout ça ne sera pas envoyé, il ne sera envoyé que si une erreur se produit, ce qui nous permettra de corriger ou alors je vais pouvoir stocker la dernière requête qui a été effectuée, je vais pouvoir stocker toute une suite d'écrans, donc à chaque fois qu'il y en a un dans un écran, je complète et si une erreur se produit, je vais me retrouver avec tous les écrans qu'il a visités et je saurais par quel chemin il est passé pour produire cette erreur. Vous avez une idée de comment fonctionne Crashlytics et de comment le mettre en place dans votre application.

Android : La publication d'une application

Abordez la publication d’une application Android sur le Google Play Store. Nettoyez votre code avant la diffusion, gérez les éventuels crashs, récupérez un exécutable signé, etc.

1h04 (13 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :6 juin 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !