- Xamarin
- App Center
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.
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.
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).
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");
Voici quelques captures d’écran de ce que vous pouvez obtenir lorsque vous envoyez des événements et des erreurs au serveur App Center
:
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:
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:
Enfin, si vous placez des logs d’événements dans votre application, vous pourrez les voir dans cette liste:
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é !