Base de connaissance Apps Panel

S’abonner

Crash Manager

Ce module s’il est activé, permet d’envoyer aux serveurs d’AppsPanel tous les crashs de votre application, afin de pouvoir être alerté en temps réel si les crashs deviennent trop nombreux.

 

Activation du module dans le fichier conf;json de votre environnement de travail:

"Crash": { "active": true }

Afin que le problème soit traité de la manière la plus rapide possible, le SDK envoie automatique à chaque crash une liste d’informations :

  • Le ‘name’ qui est le nom de la classe de l’exception levée
  • La ‘reason’ du crash, qui correspond au mesasge de l’exception
  • La ‘stack trace’ du crash tel que renvoyé par l’OS (permettant de connaitre le nom de la fonction qui à fait crasher l’application)
  • Le type de connexion utilisé à ce moment là (wifi, 3G, …)
  • Le contenu du module stats actuelle (voir module de statistiques)
  • Les 15 dernières requêtes web effectué par l’application ainsi que le retour de ces webservices (afin de pouvoir voire rapidement si l’un de ces retours peu avoir causer le crash)

Certains cas de figure ne permette pas de faire remonter le crash, notamment lorsque l’appareil n’a aucune connexion internet active.

Gestion personnalisée des crashs

Si vous souhaitez étendre / modifier la gestion standard des crashs, vous pouvez le faire via la classe de votre application (qui étends la classe AppsPanelApplication), en surchargeant la méthode onCrash(Activity activity, Throwable e).

public boolean onCrash(final Activity activity, final Throwable e) {
 new Thread(new Runnable() {
    @Override
    public void run() {
       Looper.prepare();

       Context context = activity;
       Toast.makeText(context, "Ceci est un crash...", Toast.LENGTH_LONG).show();

       Looper.loop();
    }
 }).start();

 try {
    Thread.sleep(3000);
 } catch (InterruptedException e1) {
 }
 System.exit(1);
 return true;
}

La méthode onCrash doit retourner true si une action spécifique a été réalisée, le traitement du crash est alors stoppé.

En retournant false, le traitement classique sera alors fait sur la notification.

Important: Si vous retournez la valeur "true", il est important que vous gériez à votre niveau l'arrêt de l'application (via "System.exit()" par exemple). Il est fortement déconseillé de relancer l'application de façon automatique après un crash.

Important: que cette méthode soit implémentée ou non, l'envoi des données statistiques concernant les crashs sera réalisé.

Si vous souhaitez vous rendre sur la page Crash Report du BO.

Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 0 sur 0
Vous avez d’autres questions ? Envoyer une demande