Podczas konserwacji aplikacji ważnym zadaniem jest odpowiednie reagowanie na pojawiające się błędy i crashe aplikacji. Czasami ponowne wykonanie błędu jest bardzo trudne do odtworzenia i dlatego potrzebujemy o nim niezbędnych informacji. Z pomocą przychodzi tu moduł Diagnostics systemu App Center. Pozwala na wyświetlanie błędów występujących podczas pracy aplikacji i ich diagnozowanie. Aby użyć funkcji potrzebujemy projektu React Native z zainstalowaną biblioteką App Center (instrukcja dostępna tutaj). W takim projekcie w katalogu głównym wykonujemy polecenie:
npm install appcenter-crashes --save-exact
Po zainstalowaniu modułu, w przypadku crashu aplikacji, mamy dostęp do informacji o błędzie z użyciem konsoli App Center.
Zasymulujmy teraz crash aplikacji. W pliku App.js naszej aplikacji zaimportujmy bibliotekę:
import Crashes from 'appcenter-crashes';
Następnie w metodzie render() lub componentDidMount() dodajmy wywołanie metody:
Crashes.generateTestCrash();
W zakładce Diagnostics aplikacji App Center pojawią się szczegóły o błędzie. Oczywiście sam moduł jest znacznie bardziej rozbudowany, np. umożliwia przeglądanie informacji o błędach wewnątrz aplikacji lub unieszkodliwianie ich skutków.
Innym ciekawym modułem jest moduł odpowiadający za statystyki związane z naszą aplikacją. Aby do niego przejść, wybieramy zakładkę Analytics projektu App Center.
Dostępne tu informacje obejmują liczbę aktywnych użytkowników, szczegóły ich urządzeń, czy ich języków i krajów. Dodatkową opcją są również wydarzenia wewnątrz aplikacji. Aby z niej skorzystać, musimy w projekcie naszej aplikacji React Native zainstalować bibliotekę. Używamy do tego poniższego polecenia:
npm install appcenter-analytics --save-exact
Następnie aby przetestować działanie w aplikacji w pliku App.js naszego projektu, zaimportujmy bibliotekę:
import Analytics from 'appcenter-analytics';
I następnie w dowolnym miejscu (np. po włączeniu aplikacji) wywołujemy metodę, która wywoła konkretne wydarzenie.
Analytics.trackEvent("Render App.js");
W zakładce Events pojawią się stosowne statystyki.
Funkcja znajduje zastosowanie wtedy, gdy chcemy sprawdzić, które moduły naszej aplikacji są najczęściej używane przez użytkowników. A co za tym idzie – na rozwoju czego powinniśmy się skupić.
Podsumowując, moduły diagnostyczne i analityczne często są pomijane przy tworzeniu aplikacji mobilnych, jednak ich wykorzystanie znacząco usprawnia pracę deweloperom i informuje właściciela aplikacji (zwłaszcza tych komercyjnych) o ich rentowności i działaniach użytkowników.