Case study: Integracja aplikacji iTaxi do zamawiania przejazdów z systemem Huawei Mobile Services

Dodane:

Karolina Złotkowska Karolina Złotkowska

Case study: Integracja aplikacji iTaxi do zamawiania przejazdów z systemem Huawei Mobile Services

Udostępnij:

W maju 2019 roku Huawei zaskoczyła wiadomość zza oceanu. Prezydent Stanów Zjednoczonych, Donald Trump ogłosił zakaz współpracy firm amerykańskich z chińskim potentatem. Blokada na usługi Googla w praktyce oznaczała, że nowe modele telefonów Huawei nie będą miały dostępu do serwisów amerykańskiego giganta.

Z dnia na dzień okazało się, że użytkownicy najnowszych aparatów Huawei nie skorzystają z najbardziej popularnych aplikacji, których na co dzień używali m.in. poczty Gmail, map Google, serwisu internetowego YouTube czy narzędzi ułatwiających pracę zdalną. Dostęp do tych technologii posiadały jedynie aparaty, które firma wprowadziła na rynek wcześniej.

Chińska korporacja stanęła przed strategiczną decyzją – co zrobić, aby pozostać na rynku i nie stracić grona zaufanych klientów. Huawei postanowił zainwestować w rozbudowę zestawu własnych usług mobilnych – Huawei Mobile Services, w tym m.in. w autorską platformę dystrybucji aplikacji AppGallery. To odpowiednik Google Play dostępnego dla telefonów obsługujących system Android i App Store obecnego w iPhone’ach. 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 AppGallery.

Decyzja

Po wstępnych rozmowach o współpracy z Huawei, pierwszą rzeczą, którą zrobiliśmy było umieszczenie wersji androidowej aplikacji iTaxi w AppGallery. Nie wymagało to od nas żadnych dodatkowych prac technicznych. Szybko podjęliśmy decyzję i w połowie kwietnia użytkownicy starszych modeli telefonów, obsługujących bez przeszkód rozwiązania Google, mogli pobrać w pełni działającą aplikację do zamawiania przejazdów z galerii. Chcieliśmy mieć jednak pewność, że wszyscy klienci iTaxi – niezależnie od modeli telefonów komórkowych jakie posiadają – będą mogli bez przeszkód korzystać z naszych usług. Oznaczało to podjęcie prac związanych z integracją naszej aplikacji z Huawei Mobile System (HMS). Dostrzegliśmy potencjał w segmencie użytkowników najnowszych modeli Huawei i chcieliśmy umożliwić im nieskrępowany dostęp do aplikacji iTaxi. Na korzyść przemawiały również statystyki. Poziom pobrań aplikacji z AppGallery w Polsce wzrósł o 70% jeśli porównać Q4 2019 do Q3. Co więcej, okazało się, że w 2020 roku wzrosty nadal występują. Jeszcze w kwietniu podjęliśmy finalną decyzję o przeprowadzeniu integracji z HMS.

Organizacja pracy

Byliśmy w stałym kontakcie z przedstawicielami Huawei – z ich strony otrzymaliśmy gwarancję pełnego wsparcia technicznego, operacyjnego i marketingowego. Nasz zespół IT pracuje w Scrumie w dwutygodniowych iteracjach. Zaczęliśmy od kilkugodzinnego spike’a, ponieważ temat był na tyle nowy, że wymagał wstępnej analizy. Huawei dzieli swoje usługi na zestawy, np. Wallet Kit, Analytics Kit czy Map Kit. Do nas należała decyzja, które z nich są niezbędne, by aplikacja była w pełni funkcjonalna. Postawiliśmy na Location Kit, Push Kit i Analytics Kit. Zestawy mogą się różnić dla poszczególnych aplikacji – to, których zestawów użyjecie zależy od tego, z jakich usług korzystacie i co oferujecie użytkownikom. W kolejnym kroku oceniliśmy pracochłonność i określiliśmy ryzyka. Wdrożenie wraz z testami przeprowadziliśmy w ciągu dwóch sprintów.

Szczegóły techniczne

– 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 sprawić większych problemów. 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 zadbali o to, 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. Różnią się jedynie 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 – tłumaczy Anna Orłowska, Senior Android Developer.

– 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 łatwa, 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 było najbardziej czasochłonne i najtrudniejsze do testowania – dodaje Orłowska.

Wyzwania

Mimo, że cały proces przebiegał sprawnie to, jak zazwyczaj bywa przy tego rodzaju projektach, nie obyło się bez wyzwań. Jeśli planujecie dostosować swoją aplikację do HMS to zwróćcie uwagę na poniższe kwestie:

  1. Dość oczywista sprawa – 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 bardzo zbliżony do tego, który występuje u innych dostawców – to kombinacja funkcji z konsol Apple i Google. Widać, że serwis jest na bieżąco usprawniany i rozbudowywany – to oczywiście plus. Możecie się tylko zdziwić, kiedy korzystaliście z wybranej opcji na ekranie głównym, a kilka godzin później znajdziecie ją w zupełnie innej zakładce.
  3. HMS jest nowością i jeśli posiadacie integracje z zewnętrznymi narzędziami, to istnieje ryzyko, że nowa wersja aplikacji nie zostanie obsłużona. W naszym przypadku dotyczyło to systemu typu marketing automation. Warto dowiedzieć się zawczasu, czy współpracujące z wami firmy przewidują poszerzenie swoich integracji.
  4. Trafiliśmy również na problem nie do pokonania – 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 zdecydować o ewentualnym wdrożeniu takiego rozwiązania.

Analityka

Należy pamiętać, że aplikacji zintegrowanej z HMS-em nie można niestety podpiąć pod Firebase. Przez to traci się ważny element związany ze śledzeniem eventów w jednym miejscu. Z tej sytuacji jest jednak wyjście. Firebase można zastąpić analityką Huawei, integrując wspominany wcześniej Analytics Kit. Aktualnie 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. Dużym wsparciem był dla nas zespół Huawei, który angażował się w proces nie tylko od strony technicznej i operacyjnej, ale też marketingowej. Aplikacje zintegrowane z HMS-em miały być dodatkowo promowane i tak iTaxi znalazło się w materiałach reklamowych Huawei, w tym w spocie telewizyjnym.

Dzięki otwarciu się na właścicieli telefonów marki Huawei, udało nam się pozyskać blisko 14 tysięcy nowych użytkowników. Będziemy na bieżąco śledzić zmiany, które wprowadza Huawei i weryfikować nowe narzędzia. W AppGallery znalazła się Aplikacja Pasażera iTaxi, integracja Aplikacji Kierowcy pozostaje otwartą kwestią i potencjalną drogą rozwoju współpracy z marką.

Autor: Karolina Złotkowska, Product Owner, iTaxi