Bądź na bieżąco

Jak zbudowaliśmy aplikację iTaxi zintegrowaną z Huawei Mobile Services?

W maju 2019 r. Donald Trump nałożył na krajowe firmy zakaz współpracy z firmą Huawei. Blokada na usługi Google’a dla chińskiego potentata w praktyce oznaczała, że nie można było kupić nowego modelu telefonu Huawei z serwisami amerykańskiego giganta. Dostęp do tych technologii posiadały jedynie aparaty, które firma wprowadziła na rynek wcześniej. Oznaczało to również, że użytkownicy nie mogli zainstalować na nowych smartfonach najbardziej popularnych aplikacji, z których do tej pory korzystali, takich jak np. mapy Google, poczta Gmail czy YouTube.

Aby pozostać na rynku i nie stracić grona zaufanych klientów, chińska korporacja musiała podjąć zdecydowane kroki i postanowiła rozwinąć zestaw własnych usług mobilnych – Huawei Mobile Services, w tym m.in. autorską platformę dystrybucji aplikacji AppGallery – odpowiednik Google Play i App Store. Dalsza sprzedaż nowych telefonów Huawei będzie więc w dużym stopniu zależeć od systematycznego zwiększenia liczby popularnych aplikacji zintegrowanych z HMS dostępnych w ich własnej galerii aplikacji.

Decyzja

Pierwszym krokiem, po tym jak Huawei zaoferował nam współpracę, było umieszczenie wersji androidowej aplikacji iTaxi w AppGallery. Nie wymagało to dodatkowych prac technicznych. Szybko podjęliśmy decyzję i w połowie kwietnia użytkownicy starszych telefonów, których systemy obsługiwały jeszcze rozwiązania Google, mogli pobrać w pełni działającą aplikację z galerii. Chcieliśmy jednak mieć pewność, że wszyscy klienci iTaxi będą mogli w niezakłócony sposób korzystać z naszych usług, niezależnie od posiadanego przez nich modelu telefonu komórkowego. Wymagało to podjęcia prac związanych z integracją z Huawei Mobile System (HMS). Dostrzegliśmy potencjał w segmencie użytkowników najnowszych modeli Huawei i chcieliśmy mieć do niego dostęp. Na korzyść przemawiały również statystyki. Poziom pobrań aplikacji z AppGallery w Polsce wzrósł o 70% jeśli porównać czwarty kwartał 2019 do trzeciego. Okazało się, że w 2020 roku wzrosty nadal występują. Jeszcze w kwietniu zdecydowaliśmy, że przeprowadzimy integrację z HMS.

Organizacja pracy

Od samego początku pozostawaliśmy w kontakcie z przedstawicielami Huawei – mieliśmy zagwarantowane pełne wsparcie techniczne, operacyjne oraz marketingowe. Nasz zespół IT pracuje w Scrumie w dwutygodniowych iteracjach. Zaczęliśmy od kilkugodzinnego spike’a – temat był na tyle nowy, że wymagał wstępnej analizy. Huawei dzieli swoje usługi na zestawy, np. Map Kit, Push Kit czy Analytics Kit. Musieliśmy zdecydować, których z nich potrzebujemy, żeby aplikacja była w pełni funkcjonalna. Wybraliśmy Location Kit, Push Kit i Analytics Kit. To, których zestawów użyjecie zależy od tego, z jakich usług korzystacie i co oferujecie użytkownikom, więc mogą się one różnić dla poszczególnych aplikacji. Oceniliśmy też pracochłonność i określiliśmy ryzyka. Wdrożenie wraz z testami przeprowadziliśmy w ciągu dwóch sprintów.

Szczegóły techniczne

Jak wyglądały prace techniczne opisuje Anna Orłowska, Senior Android Developer: „Proces dostosowania aplikacji do serwisów Huawei nie jest skomplikowany. Oczywiście dużo zależy od stanu wyjściowego aplikacji. Jeśli jej architektura jest przemyślana, podpięcie nowych serwisów nie powinno nastręczać większych trudności. Dokumentacja na stronie Huawei jest wystarczająca, by sprawnie zrealizować całość, zwłaszcza jeśli do tej pory korzystaliście z analogicznych usług Google. Programiści Huawei postarali się bowiem, aby proces podłączenia odpowiadających sobie serwisów był taki sam. Mamy wręcz identyczne nazwy klas i metod oraz niemal ten sam proces inicjalizacji. Jedyną różnicą są nazwy pakietów. Jeśli dodatkowo w projekcie aplikacji skorzystaliście z bibliotek wspierających wstrzykiwanie zależności (ang. dependency injection, np. Dagger), to w bardzo prosty sposób możecie wybrać odpowiednie dla danej platformy klasy.

To, z jakich usług będzie korzystała Wasza aplikacja można rozstrzygnąć na kilka sposobów. W przypadku iTaxi użyliśmy dobrze znanego programistom Androida mechanizmu “product flavors” i zbudowaliśmy oddzielnie aplikacje do sklepu Google oraz Huawei. Integracja większości usług była bardzo prosta, jednak np. notyfikacje okazały się nieco większym wyzwaniem. Przejście na powiadomienia od Huawei wymagało pracy nie tylko po stronie aplikacji, ale również serwera. Co więcej proces serwerowy różni się od tego, który znamy z Google’a, nie jest więc tak oczywisty, jak w przypadku zmian w aplikacjach. Podłączenie notyfikacji do usług zajęło nam najwięcej czasu i najtrudniej też było je testować.”

Wyzwania

Mimo, że cały proces przebiegał sprawnie to, jak zazwyczaj bywa przy tego rodzaju projektach, nie obyło się bez przeszkód. Jeśli więc macie w planach dostosowanie swojej aplikacji do HMS to są sytuacje, na które warto się przygotować.

  1. Pierwsze wyzwanie było dość oczywiste – brak urządzeń do testów. Jednak Huawei przyszedł nam z pomocą i udostępnił odpowiedni sprzęt. Jeśli więc tworzycie aplikację do sklepu marki, to zaopatrzcie się w telefon bez usług Google. Tylko wówczas możecie mieć pewność, że apka nie zakomunikuje błędu – braku GMS. Czasem w naszym kodzie lub w bibliotece, z której korzystamy, może być zaszyte sprawdzenie (a nawet pop-up) z informacją o braku wymaganych usług. Trzeba upewnić się, że użytkownik nie otrzyma takiego niepotrzebnego powiadomienia po uruchomieniu aplikacji.
  2. Sam proces rejestracji aplikacji i późniejszej dystrybucji odbywa się w serwisie developer.huawei.com. Jego interfejs jest łudząco podobny do tego, który występuje u innych dostawców – jest to kombinacja funkcji z konsol Apple i Google. Widać, że serwis jest na bieżąco poprawiany i rozbudowywany – to oczywiście plus. Możecie się tylko zdziwić, kiedy korzystaliście z wybranej opcji na ekranie głównym, a po kilku godzinach będziecie musieli jej szukać w innej zakładce.
  3. HMS jest nowością i jeśli posiadacie integracje z zewnętrznymi narzędziami, to możecie się spodziewać, że nowa wersja aplikacji nie zostanie obsłużona. W naszym przypadku dotyczyło to systemu typu marketing automation. Warto potwierdzić czy współpracujące z wami firmy biorą pod uwagę poszerzenie swoich integracji.
  4. Trafiliśmy również na barierę nie do przejścia – w HMS-owej wersji aplikacji musieliśmy zrezygnować z usługi Google Pay. Bacznie obserwujemy proces rozbudowy płatności po stronie Huawei, by móc w przyszłości podjąć decyzję o ewentualnym wdrożeniu takiego rozwiązania.

Analityka

Aplikacji zintegrowanej z HMS-em nie można niestety podpiąć pod Firebase, więc traci się ważny element związany ze śledzeniem eventów w jednym miejscu. Można go jednak zastąpić analityką Huawei, integrując wspominany wcześniej Analytics Kit. Na chwilę obecną prawie każda z dostępnych funkcji, takich jak: zakupy, konwersje, subskrypcje czy dodatkowe szczegółowe analizy, opatrzona jest znakiem “beta”. Bardziej zaawansowana konfiguracja analityki jest jeszcze przed nami.

Podsumowanie

Zbudowanie nowej aplikacji iTaxi dostosowanej do HMS okazało się łatwiejsze niż zakładaliśmy. W całym procesie dużym wsparciem był dla nas zespół Huawei, nie tylko od strony technicznej i operacyjnej, ale też marketingowej. Aplikacje zintegrowane z HMS-em miały być dodatkowo promowane i tak też się stało. iTaxi pojawiło się w materiałach reklamowych Huawei, w tym w spocie telewizyjnym.

Otwarcie się na posiadaczy telefonów marki pozwoliło nam pozyskać blisko 14 tysięcy nowych użytkowników. W kolejnych miesiącach będziemy śledzić zmiany, które wprowadza Huawei i weryfikować nowe narzędzia. W AppGallery znalazła się Aplikacja Pasażera iTaxi, integracja Aplikacji Kierowcy cały czas jest tematem otwartym i potencjalną drogą rozwoju współpracy z marką.

 

Karolina Złotkowska, Product Owner, iTaxi