• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
ACRA - Présentation PAUG Avril 2011
 

ACRA - Présentation PAUG Avril 2011

on

  • 1,559 views

ACRA est une librairie open source, légère, facile à mettre en oeuvre et très configurable permettant aux développeurs android de recevoir des rapports d'erreur de leurs applications dans un ...

ACRA est une librairie open source, légère, facile à mettre en oeuvre et très configurable permettant aux développeurs android de recevoir des rapports d'erreur de leurs applications dans un spreadsheet GoogleDocs.

Statistics

Views

Total Views
1,559
Views on SlideShare
1,361
Embed Views
198

Actions

Likes
1
Downloads
2
Comments
1

9 Embeds 198

http://www.paug.fr 175
http://www.linkedin.com 7
url_unknown 5
http://feeds.feedburner.com 4
http://coderwall.com 3
http://www.blogger.com 1
http://www.slideshare.net 1
http://www.paug.tv 1
https://www.linkedin.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • La vidéo de la présentation est disponible sur Youtube:
    <br /><object type="application/x-shockwave-flash" data="http://www.youtube.com/v/QvytAa_1qts?fs=1&amp;hl=fr_FR&amp;rel=0" width="350" height="288"><param name="movie" value="http://www.youtube.com/v/QvytAa_1qts?fs=1&amp;hl=fr_FR&amp;rel=0"></param><embed src="http://www.youtube.com/v/QvytAa_1qts?fs=1&amp;hl=fr_FR&amp;rel=0" width="350" height="288" type="application/x-shockwave-flash"></embed></object>
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    ACRA - Présentation PAUG Avril 2011 ACRA - Présentation PAUG Avril 2011 Presentation Transcript

    • ACRA La chasse aux bugs est ouverte ! @KevinGaudin - 14 avril 2011
    • Au programme
        • J'ai fini mon appli ! Et maintenant ?
        • ACRA, c'est quoi ?
        • Ajouter ACRA c'est simple !
        • Détail des fonctionnalités
        • Et pour (très) bientôt...
        • Quand utiliser ACRA ?
        • Et après ?
      •      + Vos questions !
    • J'ai fini mon appli ! Et maintenant ?   1/2
      • Grand Public
      • Hop ! Sur le market !
      Entreprise Hop ! J'envoie aux utilisateurs ! Et... bah j'attends un retour... Quand un jour:
    • J'ai fini mon appli ! Et maintenant ?   2/2
      • Grand Public
        • Pas de réponse possible aux commentaires
        • L'Android Market propose des rapports...
          • seulement pour certains terminaux à partir de 2.1
          • très peu de détails sur le contexte
      • Entreprise
        • Demander aux utilisateurs une méthode pour reproduire l'erreur
        • Pour les plus geeks d'entre eux... leur faire installer un collecteur de logs (ex: ALogCat) et envoyer les traces d'exécution 
      Ou alors... Développer un UncaughtExceptionHandler + script serveur pour recevoir des rapports Il existe des exemples sur StackOverflow .
    • ACRA, c'est quoi ?
        • Un UncaughtExceptionHandler...
        • ... qui envoie ses rapports vers un Formulaire GoogleDoc !
        • FACILE à mettre en oeuvre et TRES configurable
        • Un projet open source (ASL2), hébergé sur GoogleCode => http://acra.googlecode.com
        • Première version en avril 2010
        • Version stable courante : 3.1.1
        • Téléchargements > 10/j
        • 1 développeur principal + quelques contributions ponctuelles
    • Ajouter ACRA, c'est simple !
        • importer un csv dans GoogleDoc et lui associer un formulaire
        • ajouter le .jar d'acra dans le projet
        • ajouter une annotation dans une classe héritant d'Application + un appel à ACRA.init(this)
      import org . acra .*; import org . acra . annotation .*; @ReportsCrashes ( formKey = &quot;dGVacG0ydVHnaNHjRjVTUTEtb3FPWG&quot; ) public class MyApplication extends Application {      @Override      public void onCreate () {         ACRA . init ( this );         super . onCreate ();     } } Demo 4.   Manifest: déclarer la classe application + permission internet
    • Détail des fonctionnalités 1/3
        • 3 modes d'interaction:
          • SILENT : invisible
          • TOAST : message &quot;discret&quot;
          • NOTIFICATION : notification + dialog
      @ReportsCrashes ( formKey = &quot;dGVacG0ydVHnaNHjRjVTUTEtb3FPWGc6MQ&quot; ,     mode = ReportingInteractionMode . NOTIFICATION ,     resNotifTickerText = R . string . crash_notif_ticker_text ,     resNotifTitle = R . string . crash_notif_title ,     resNotifText = R . string . crash_notif_text ,     resNotifIcon = android . R . drawable . stat_notify_error , // optional     resDialogText = R . string . crash_dialog_text ,     resDialogIcon = android . R . drawable . ic_dialog_info , //optional     resDialogTitle = R . string . crash_dialog_title , // optional     resDialogCommentPrompt = R . string . crash_dialog_comment_prompt , //optional     resDialogOkToast = R . string . crash_dialog_ok_toast // optional     )
    • Détail des fonctionnalités 2/3
        •  Envoi des rapports vers votre propre script serveur (http/https)
        • Ajout de traces spécifiques ErrorReporter.getInstance().putCustomData(&quot;myVariable&quot;, myVariable);
        • SharedPreferences pour activer/désactiver ACRA
        • Envoi de rapports &quot;manuels&quot; ErrorReporter.getInstance().handleException(caughtException);
        • Envoi de rapports discrets ErrorReporter.getInstance().handleSilentException(caughtException);
    • Détail des fonctionnalités 3/3
      • Les limites:
        • Ne gère que les exceptions, pas les ANR
        • Limite de capacité des Google Spreadsheets:
          • 400 000 cells
          • = + de 14 000 rapports
        • Incapacité à fournir un CrashDialog direct
    • Et pour (très) bientôt...
        • Envoi vers script perso:
          • Noms de paramètres plus clairs
          • Support Authentification HTTP Basic 
        • Envoi par e-mail (via intent):
          • Permet de se débarrasser de la permission internet
          • Contenu du rapport paramétrable 
        • API pour coder votre propre ReportSender
        • Encore plus de données envoyées
          • Logcat (normal, events, radio)
          • MemInfo, SystemAvailableFeatures, PackageStats, Environment, DropBoxManager, Settings
          • Adresse e-mail de l'utilisateur (saisie via dialog ou SharedPreference)
          • Unique Id
        • Intégration Maven (merci Pierre-Yves !)
    • Quand utiliser ACRA ?
        • En Dev... pas forcément utile
        • En recette/beta : permet de récupérer TOUTES les traces des crashs constatés par les recetteurs/testeurs
        • En production : être informé au plus tôt des bugs et défauts de compatibilité
          • sauf si application TRES populaire ?
    • Et après ?
        • Focus sur l'exploitation des rapports. Quelques idées :
          • Analyses via Google Visualization API (voir premiers travaux par Jan Berkel )
          • Aide au diagnostic (meilleure visualisation des rapports, lien direct vers le code, regroupement de rapports similaires...)
          • Intégration bugtrackers
          • ...
    • Liens
        • Projet (downloads, wiki, source, issues...) : http://acra.googlecode.com
        • Forum :  http://groups.google.com/group/acra-discuss
        • Twitter :
          • @kevingaudin
          • @CrashReports
    • Merci !
        • Emmanuel Astier - UncaughtExceptionHandler initial http://androidblogger.blogspot.com/
        • Pierre-Yves Ricau - Mavenizator
        • Jan Berkel - Analyses via GVT
        • PAUG
        • VOUS !