Photo par pxhere.com

Monitorer vos applications mobiles Xamarin avec App Center

Monitorer votre application en utilisant App Center, un outil de référence sur le cloud.

Posted by Damien Aicheh on June 06, 2019 · 5 mins

Dans mon précédent tutoriel J’ai expliqué pourquoi il était important de monitorer votre application, maintenant voyons un exemple avec App Center.

Nous savons pourquoi il est important de disposer de logs pendant le cycle de production de notre application. Maintenant commençons par utiliser App Center et créons un service de log sur le cloud réutilisable dans toutes vos applications.

Installation rapide

Tout d’abord dans vos projets de plateformes, vous devez installer Microsoft.AppCenter.Analytics et Microsoft.AppCenter.Crashes ainsi que dans le projet de code partagé (projet .Net Standard, par exemple). Ensuite, allez sur le site d’App Center et créez un projet pour chaque projet de plateforme, vous obtiendrez une clé secrète pour chaque projet.

Configurer le service de log

Créer le service de log sur le cloud

Créons une nouvelle classe dans le projet partagé appelée CloudLogService:

public class CloudLogService : ICloudLogService
{
    public void Initialize(string secretKey)
    {
        Microsoft.AppCenter.AppCenter.Start(secretKey, typeof(Analytics), typeof(Crashes));
    }

    public void LogEvent(string name, Dictionary<string, string> properties = null)
    {
        Analytics.TrackEvent(name, properties);
    }

    public void LogError(Exception ex, Dictionary<string, string> properties = null)
    {
        Crashes.TrackError(ex, properties);
    }
}

Dans ce service, nous allons d’abord implémenter une méthode Initialize pour configurer les packages d’analyses et de crashes d’App Center. Une fois fait, nous pouvons créer des méthodes pour capturer les événements et les erreurs, elles seront automatiquement envoyées aux serveurs App Center. Tous les événements, erreurs ou plantafes sont automatiquement enregistrés dans une base de données localement sur le périphérique. Lorsque l’utilisateur de votre application dispose d’une connectivité, tout est automatiquement envoyé au serveur afin que rien ne soit perdu.

Ce CloudLogService est simple et peut être ajusté en fonction de vos besoins. Je vous recommande de créer l’interface associée pour que cette classe puisse utiliser l’injection de dépendance dans un projet réel (vous trouverez un exemple simple et complet à la fin de ce tutoriel).

Démarrer App Center

Enfin, si vous avez un projet Xamarin Native ou Xamarin.Forms, appelez la méthode Initialize ci-dessous dans une classe commune de vos projets de plateforme, comme ceci:

new CloudLogService().Initialize("android=YOUR_ANDROID_SECRET_KEY;ios=YOUR_IOS_SECRET_KEY");

App Center website

Voici quelques captures d’écran de ce que vous pouvez obtenir lorsque vous envoyez des événements et des erreurs au serveur App Center:

Crashes and errors

Ci-dessus, vous pouvez voir la liste des bugs et des erreurs en fonction des versions de votre application. Ces informations seront vraiment utiles pour hiérarchiser vos corrections de bugs.

Pour chaque bug, vous aurez la stack trace, le type de périphérique et la version du système d’exploitation. Ceci est important si un bug est simplement reproduit sur un périphérique spécifique:

Error detail

Si vous accédez aux paramètres de votre projet dans le panneau de notification, vous pouvez activer les notifications par mail lorsqu’un nouveau groupe de crash est créé. Vous serez ainsi informé immédiatement si quelque chose se passait mal dans votre application.

Vous pouvez avoir de nombreuses informations sur l’utilisation de vos applications dans le tableau de bord analytique en appelant simplement la méthode Initialize dans votre application:

Analytics dashboard

Enfin, si vous placez des logs d’événements dans votre application, vous pourrez les voir dans cette liste:

Events logs list

Touche finale

J’ai créé un exemple simple et complet de ce code en utilisant l’injection de dépendance avec MvvmLightLibs pour vous montrer comment l’utiliser dans un projet et comment il est facile de le réutiliser pour améliorer votre application.

Vous trouverez un exemple de code sur ce répertoire Github.

Happy codding !

Vous avez aimé ce tutoriel ? Laissez une étoile sur le répertoire Github associé !

N'hésitez pas à me suivre sur pour ne pas rater mon prochain tutoriel !