ANDROID : ENVOYER LES RAPPORTS DE CRASH LORS DU PLANTAGE DE VOTRE APPLICATION ANDROID ARCA
Dans ce tutoriel je vais vous montrer comment recevez automatiquement des rapports de plantage(crash) de votre application Android à l'aide de la libraire ACRA (Application Crash Report for Android).
Le point fort de ACRA après son approche simpliste est le pouvoir d'envoyer discrètement des rapports de crash sans nécessiter l'intervention de l'utilisateur.
Ce tutoriel ce compose de deux parties , dans la première partie on va voir comment intégrer ACRA dans votre application Andoird et dans la deuxième partie je vais vous monter comment avoir un backend dans lequel vous pouvez recevez vos rapport et les analyser.
Partie 1 : Intégrer ACRA dans son application Android
1- Ajout de la labrairie ACRA
Commencer par télécharger la labrairie à partir d'ici puis ajouter le fichier '*.jar' dans le dossier 'libs' de votre projet Android.
2- Instanciation de la librairie ACRA
Ajouter une nouvelle classe Java à votre projet Android puis copier le code ci-dessous :
import org.acra.*; |
Vous devriez modifier la valeur de 'formUri' après et mettre l'adresse de l'application qu'on vas déployer dans l'App Engine ce qu'on va voir dans la deuxième partie de ce tutoriel.
Ajouter le contenu ci-dessous dans le fichier 'String.xml' de votre projet :
<string name="crash_notif_ticker_text">Unexpected error, please send a report...</string> <string name="crash_notif_title">CrashTest has crashed...</string> <string name="crash_notif_text">Please click here to help fix the issue.</string> <string name="crash_dialog_title">CrashTest has crashed</string> <string name="crash_dialog_text">An unexpected error occurred forcing the application to stop. Please help us fix this by sending us error data, all you have to do is click \'OK\'.</string> <string name="crash_dialog_comment_prompt">You might add your comments about the problem below:</string> <string name="crash_dialog_ok_toast">Thank you !</string> <string name="crash_toast_text">Ooooops ! I crashed, but a report has been sent to my developer to help him fix the issue !</string> | ||
3- Configuration (AndroidManifest.xml) :
Vous devez donner à votre application la permission de l'utilisation d'internet et enfin vous devez affecter à l'attribut android:name le nom de la classe que vous avez ajouté précédemment où nous avons instancié la librairie ACRA.
<manifest ... > <application ... android:name="MyApplication"> ... <uses-permission android:name="android.permission.INTERNET"> </uses-permission> <manifest ... > |
Partie 2 : Mettre en place son backend
Pour le backend vous avez plusieurs choix que vous pouvez utiliser :
Dans cette partie je vais montrer comment mettre en place ACRA Reporter .
Les points forts de ACRA Reporter :
- Open source
- Gratuit
- On a pas besoin d'un hébergement parce qu'on peut le déployer sur l'App Engine(le service cloud de google) et vous avez besoin seulement d'un compte google.
- Il y 'a un petit widget gratuit pour Android qui ce connecte à votre instance 'App Engine' et vous affiche des informations sur les rapports de crash.
1 - Configuration d'Eclipse Juno :
Commençant par installer le plugin de google pour Eclipse et Les SDKs nésaisaire pour déployer ACRA Reporter sur l'App Engine.
Ouvrez 'Eclipse' allez dans le menu 'Help' puis cliquez sur 'install new software'.Dans la boite de dialogue 'Install' cliquez sur 'Add' dans 'Name' écrivez ce que vous voulez et pour 'Location' coller cette adresse :
https://dl.google.com/eclipse/plugin/4.2
Cochez 'Google,plugin for eclispe' et dans 'SDKs' cochez 'App Engine Java 1.7' et 'GWT 2.5' puis 'Next' etc...
2 - App Engine :
Connectez vous à votre compte google puis accéder à cette page , créer une application et récupérer son ID qu'on va utiliser après.
3 - Téléchargement du code source et déploiement :
Vous devez avoir Svn (Subversion) pour pouvoir télécharger le code source , si c'est pas le cas commencer par télécharger un client Subversion à partir d'ici.
Maintenant vous pouvez exécuter cette commande à partir du console :
svn checkout http://acra-reporter.googlecode.com/svn/trunk/ acra-reporter-read-only |
Ouvrez Eclispce si vous l'avez fermé , créer un nouveau projet 'Web application project'(choisissez le modèle où il y ' une petite icon Google), allez dans le menu 'File' cliquez sur 'Import' puis séléctionner 'File system' enfin importer à partir du dossier où vous avez fait le 'checkout'.
Faites un clic droit sur le projet qu'on vient d'importer et sélectionnez 'Properties' assurez-vous dans la partie 'Google' que les propriétés suivants sont configurées :
1- 'App Engine' : Soit l'utilisation par défaut du 'SDK' (1.7.7 actuellement) ou vous pourriez spécifier une autre version.
2- 'Deployment' : Identifiant de l'application, dans ce champs vous devrez mettre l'ID de l'application que vous avez créer dans 'App Engine'.
3- 'Web Toolkit' : Assurer-vous que vous avez sélectionné 'GWT' 2.5.1(version actuelle).
Puis 'OK', cherchez le fichier 'Configuration.java' et modifier les valeurs des variables suivantes par les vôtres :
// e-mail address must be either something@applicationid.appspotmail.com or an administrators email. |
Compiler le projet('GWT Compile Projet') dans tous les cas il faut pas avoir d'erreurs.
Dans le menu 'Google' cliquez sur 'Deploy to App Engine...'
Attendez le temps nécessaire pour le déploiement puis allez sur cette page(pour mettre à jour la base de donnée ) :
http://applicationId.appspot.com/cron/dbupgrade
On vient de finir la configuration et le déploiement du backend 'ACRA reporter' , Il suffit maintenant d'accéder au backend et d'ajouter une nouvelle application android.
Le tutoriel prend fin , mais si vous voulez d'autres ressources concernant ARCA voici une petite liste :
Bien expliqué ! Merci Bilal pour ce tuto ;)
RépondreSupprimer