W dzisiejszym artykule nadal pozostaję przy temacie HMS i aplikacji w AppGallery. Podejmę się opisania tematu, który często jest nieco pomijany, co nie znaczy, że jest on nieistotny. Zajmę się statystykami w wydaniu Huawei, czyli Analytics Kit.

Statystyki aplikacji w Huawei Mobile Services i AppGallery – HMS Analytics Kit

huawei mobile services hms core gms jedna aplikacja

Jako programista spotkałem się w życiu wielokrotnie z aplikacjami, które nie używają żadnego SDK wspierającego zbieranie statystyk. Były to najczęściej proste aplikacje pisane zgodnie z wymaganiami klienta. Jeśli pisaliście kiedyś podobne programy, to pewnie przyznacie mi rację. Aplikacja ma działać zgodnie z życzeniem klienta, a czas oraz koszt jej napisania powinien być możliwie najniższy. Jeśli więc klient nie zaznaczy bezpośrednio, że chce statystyki, to ten element prawie na pewno nie znajdzie się jego aplikacji.

Nie przegap
Bsafer.pl – chroń i kontroluj swoje dane osobowe, zanim będzie za późno
bsafer.pl
Ochrona danych osobowych to poniekąd problem, który jeszcze nie pojawił się w świadomości zbyt wielu osób. Głośno zrobiło się o nim dopiero w momencie, gdy Unia Europejska wprowadziła RODO (Rozporządzenie o Ochronie Danych Osobowych). Jednak głośno było tylko dlatego, że trzeba było się dostosować i miało to wydźwięk nie tak pozytywny, jak oczekiwaliby tego sami […]

Nie mam tutaj zamiaru nikogo krytykować – duża część klientów to osoby nietechniczne. Potrzebują oni pewnych aplikacji do swoich potrzeb i to wszystko. Nawet jeśli aplikacja będzie posiadała pełny zestaw śledzący wszystkie zdarzenia, to może się okazać, że jest to praca, która poszła na marne, ponieważ nikt nigdy w te dane nie zajrzy. 

Zobacz też: Przetwarzanie obrazu w Huawei Mobile Services – poznaj ML Kit.

Statystyki błyszczą, gdy ma się nimi kto zaopiekować, zrobić raporty oraz wyciągnąć z nich wnioski. Dlatego tak bardzo ważne jest, aby SDK, z którego korzystamy, posiadało narzędzia, umożliwiające nam pracę z nimi. Nie ma nic gorszego niż surowe dane bez możliwości ich łatwego przetwarzania. Tym samym postaram się dzisiaj opisać nie tylko podejście od strony programisty, ale także od strony analityka, którego zadaniem będzie wyciągnięcie informacji ze zgromadzonych danych.

Dodanie HMS Analytics Kit jest proste – to tylko kilka linii kodu.

Aby zacząć pracę z Analytics Kit należy przygotować odpowiednio konto HMS. Jeśli chcecie móc korzystać ze statystyk Huawei, to należy jeszcze wybrać centrum danych, czyli kraj, w którym informacje od naszych użytkowników będą fizycznie przechowywane. Aktualnie dostępne są 4 takie centra: Chiny, Singapur, Rosja oraz Niemcy. Wszystkie kraje EU, a więc także i Polska, mogą wybrać naszego zachodniego sąsiada.

Gdy konto jest już ustawione, pozostaje nam jedynie ściągnąć z plik agconnect-services.json i zacząć kodowanie. Samo użycie jest banalnie proste. Wystarczy dodać odpowiednie zależności do pliku build.gradle naszej aplikacji.

dependencies {
    implementation 'com.huawei.hms:hianalytics:5.0.0.301'
}

apply plugin: 'com.huawei.agconnect'

Daje nam to dostęp do bibliotek analitycznych. Z tego miejsca możemy zacząć już śledzenie działań naszych użytkowników w aplikacji i definiować własne zdarzenia do analizy. Przykładem niech będzie tutaj logowanie użytkownika w aplikacji:

val arguments = bundleOf(
        "FromMobile" to "yes",
        "PromoCodesUsed" to 0
)
val analytics = HiAnalytics.getInstance(context)
analytics.onEvent("Login", arguments)

Jak widać na przykładzie oprócz samego zdarzenia login, umieściłem także kilka parametrów, które w późniejszym czasie będzie można wykorzystać.

hms analytics kit

Przykład, który Wam pokazałem, był zdefiniowany wyłącznie przeze mnie i jest on związany tylko z moją aplikacją. Jednak, aby móc takie zdarzenia przetwarzać w konsoli AGC, to należy go tam dodać ręcznie. Można to zrobić, podążając w AppGallery Connect następującą ścieżką: MyApps -> <app> -> Develop -> HUAWEI Analytics -> Management -> Events.

Zobacz też: Twitter cenzuruje Trumpa – nikt nie ma przyzwolenia na pochwałę przemocy.

Takie podejście ma wiele zalet, ponieważ daje nam ogromne możliwości śledzenia konkretnych funkcji naszych aplikacji. Nie jest to jednak jedyna zaleta Analytics Kit. Wiele zdarzeń jest dla nas zbieranych automatycznie, ponieważ biblioteki posiadają wbudowaną integrację z innymi częściami HMS. Przykładem takim może być na przykład zależność z Push Kit. Nie musimy robić dosłownie niczego, aby dowiedzieć się, ilu użytkowników otrzymało i otworzyło nasze wiadomości. Oprócz wspomnianego wsparcia dla Push Kit automatycznie zbierane są zdarzenia na przykład takie jak:

  1. Pierwsze uruchomienie aplikacji
  2. Otwarcie Activity
  3. Odbiór nagrody po wykonaniu zdefiniowanej akcji (opisywanych przy okazji promocji w AppGallery)
  4. Wyświetlanie i klikanie na reklamy
  5. Zakupy w sklepie AppGallery
  6. Wybory A/B testów

Raporty i dane z HMS Analytics KIT

Przeglądając raporty, możemy dowiedzieć się wielu dodatkowych informacji o zarejestrowanych zdarzeniach i użytkownikach aplikacji. Na pewno nie znajdziemy tutaj danych pozwalających nam na identyfikację – takich jak na przykład numer telefonu czy adres e-mail. Niemniej Huawei zbiera dla nas wiele innych pożytecznych informacji. Wśród nich znajdziemy między innymi:

  1. Model urządzenia
  2. Wersja systemu operacyjnego
  3. Wersja aplikacji
  4. Kraj, z którego użytkownik pochodzi
  5. Czas pierwszego uruchomienia aplikacji

Jeśli tych automatycznych właściwości będzie nam za mało, to z łatwością możemy dodać własne. Przykład dodania takich właściwości przedstawia poniższy kod:

analytics.setUserProfile("favorite_food", "pizza")

Analytics Kit wspiera do 25 dodatkowych właściwości. Wartości te określają naszego użytkownika, a nie zdarzenia. Oznacza to, że do czasu aż nie zmieni on swoich upodobań, każde z rejestrowanych zdarzeń będzie skojarzone z aktualnym profilem użytkownika. Nie musimy ustawiać dziesiątek dodatkowych wartości podczas śledzenia zdarzeń, a jedynie ich własne parametry. Takie rozwiązanie oszczędza nam wiele pracy.

Testowanie naszych statystyk

Jeśli chcemy testować nasze statystyki w czasie rzeczywistym, należy najpierw je odpowiednio włączyć. Służy do tego poniższa komenda:

adb shell setprop debug.huawei.hms.analytics.app <package_name>

Gdzie <package_name> to oczywiście id application_id naszej aplikacji. Przy takim ustawieniu statystyki możemy śledzić na bieżąco w konsoli HMS. Jest to bardzo przydatne udogodnienie.

Debugowanie hms Analytics Kit

Po zakończeniu pracy tryb ten można wyłączyć komendą:

adb shell setprop debug.huawei.hms.analytics.app .none.

Co dają nam statystyki z HMS Analytics Kit? Co możemy z nimi zrobić?

Tak jak pisałem już na wstępie, statystyki są bezużyteczne, jeśli nie ma się nimi kto zająć. Ot kolejne rekordy marnujące miejsce w bazie danych. Jeśli jednak dobrze się nad nimi pochylić, to może się okazać, że jesteśmy w stanie wykrzesać z aplikacji znacznie więcej niż do tej pory. Przykładem może być sytuacja znajomego. Jego aplikacja miała się całkiem nieźle i zapewniała stałe przychody. Po analizie statystyk okazało się, że wielu użytkowników kupujących wewnętrzne produkty pochodzi z Hiszpanii. Podjęto szybko decyzję o dodaniu wsparcia dla języka hiszpańskiego i zgodnie z przewidywaniem firma uzyskała wzrost zakupów z krajów hiszpańskojęzycznych o około 30%. Może nie wydawać się to dużo, ale był to bardzo dobry impuls, aby wykorzystać to narzędzie do dalszego rozwoju aplikacji.

Zobacz też: Badaj zachowanie użytkownika swojej aplikacji przy pomocy HMS Awareness Kit.

Huawei Mobile Services daje ogromne możliwości przetwarzania tych danych. Pozwala grupować zdarzenia, filtrować je i generować raporty. Liczba oferowanych opcji potrafi przytłoczyć. Nie znaczy to, że narzędzia są złe – bardzo łatwo byłem w stanie znaleźć to, co mnie interesowało. Szybko możemy uzyskać dostęp do informacji na temat tego, ilu mamy nowych użytkowników, ilu straciliśmy, ilu z nich jest aktywnych czy tego ilu z nich zdecydowało się na zakupy w aplikacji. Jest to oczywiście jedynie wierzchołek góry lodowej. Huawei dostarcza wielu świetnych narzędzi. Na co dzień taka analiza nie należy do moich obowiązków, a ja nie czuję się na tyle obeznany w tej sprawie, aby ją Wam opisywać. Jeśli jednak jesteście zainteresowani tematem, to polecam zajrzeć do samego HMS i osobiście sprawdzić, w jaki sposób można pomóc aplikacjom w rozwoju.

Na koniec tradycyjnie zapraszam Was do zapoznania się z innymi artykułami z sekcji programowanie gdzie pokryłem wiele tematów związanych z HMS, a także do śledzenia jej na bieżąco. Równocześnie zajrzyjcie na nasze forum dla programistów, gdzie możecie liczyć na moją pomoc. W tym wątku dowiecie się więcej o bezpłatnym wsparciu przy implementacji HMS w Waszych aplikacjach.




Tomasz Orłowski

Programista Androida z 12-letnim doświadczeniem. Aktualnie współpracuje z Aberit Sp. z o.o. Interactive Agency & Software House