jedna aplikacja gms hms jak to zrobic programowanie

Co oznacza dla programisty brak usług Google?

Programowanie

Na pewno wielu z Was zwróciła dziś uwagę na premierę smartfonów Huawei z serii P40. Właśnie ruszyła ich przedsprzedaż, a to oznacza, że już niedługo do pierwszych użytkowników trafią flagowe smartfony inne niż te, do których się przyzwyczailiśmy. Największa różnica polega na tym, że brak w nich usług Google. Zamiast w Google Mobile Services (GMS) będą wyposażone wyłącznie w Huawei Mobile Services (HMS).

Czym jest GMS? Usługi Google z perspektywy programisty

brak uslug google turcja gms odciecie

Najprościej temat ujmując GMS, czyli Google Mobile Services to zestaw zamkniętych usług i bibliotek oferowanych przez Google dla systemu Android. W ramach GMS otrzymujemy kompleksowy pakiet, którego wykorzystanie gwarantuje, że nasze aplikacje będą atrakcyjniejsze i bardziej użyteczne dla potencjalnych odbiorców. Mamy tu dla przykładu:

Nie przegap
Nie pozwól, by cię inwigilowano – zainwestuj w VPN!
polacy internet
Żyjemy w czasach, w których słowa „prywatność” i „internet” niekoniecznie idą w parze. W Sieci jesteśmy obserwowani cały czas, co oczywiście nie oznacza, że musimy się na to godzić. Są bowiem rozwiązania, które pozwalają ukryć swoją prawdziwą tożsamość w internecie i tym samym utrudnić osobom trzecim podglądanie naszych zachowań. Niewiele osób wie, że kilka lat temu […]
  • mapy
  • usługi lokalizacyjne
  • powiadomienia typu PUSH
  • statystyki

Możliwości, które otrzymujemy w ramach GMS, są tak duże, że trudno sobie wyobrazić topową aplikację, która nie korzystałaby z tych dobrodziejstw. Co więcej, niemal wszystkie programy wydawane przez Google takie jak Gmail, Youtube, Google Maps czy Google Play Store są tak mocno zintegrowane z omawianymi serwisami, że nie są w stanie bez nich w pełni funkcjonować. 

Google dodatkowo dba o nas poprzez stałe zapewnienie aktualizacji. GMS nie jest częścią systemu operacyjnego, a jedynie jedną z jego bibliotek, które są uaktualniane przez Sklep Google. To oznacza bardzo duży atut. Zawsze dostajemy najnowsze, najbardziej aktualne, wyznaczające nowe trendy aplikacje bez konieczności czekania, aż producent naszego telefonu wypuści odpowiednią aktualizację.

Usługi Google brzmią zbyt pięknie -gdzie jest haczyk dla programisty?

uslugi google programista

Dochodzimy do wniosków, że Google jest naszym najlepszym przyjacielem, który za darmo ułatwia nam życie, niczego nie chcąc w zamian. Nasze szczęście jest jego priorytetem i nic więcej się nie liczy. Z punktu widzenia użytkownika aplikacji jest w tym wiele prawdy, wszystko jest jasne, przejrzyste i intuicyjne. Jeśli jednak jesteś programistą, to dobrze wiesz, że za każdy zakup twojej aplikacji lub produktu w niej, potentat pobiera swoją działkę w wysokości 30%. Nie jest to niczym niezwykłym. Wiadomo, że Apple robi tak samo. Brak jest płatnych produktów w aplikacji? Nic nie szkodzi… najprawdopodobniej używasz Google Ads do monetyzacji i znów firma z Mountain View dostaje swoją dolę. Nie mam tutaj jednak zamiaru narzekać – nikt nikogo do niczego nie zmusza.

Problem pojawia się, gdy z użytkownika zamieniamy się w producenta. Dobry wujek okazuje się nagle twardym negocjatorem, oficjalne motto Google „don’t be evil” (usunięte w 2018 roku) już nie obowiązuje. Wydawca Androida ma szereg wymagań nie tylko odnośnie sprzętu czy certyfikatów bezpieczeństwa. Na angielskiej Wikipedii znajdziemy info, że częścią certyfikacji GMS może być np. umowa blokująca producenta na używanie innych systemów niż Android. Nie mogę stwierdzić, jak dalece prawdziwe są takie stwierdzenia, ponieważ nie podano tam wiarygodnych źródeł. Dopuszczam jednak do siebie możliwość takich działań.

Jeszcze inną kategorią problemów z GMS może być sytuacja z 15 maja zeszłego roku, gdy USA zablokowało drugiego co do wielkości producenta telefonów komórkowych – firmę Huawei. Kilka dni później Google oficjalnie odcięło nowe, niecertyfikowane wcześniej urządzenia tej marki od Usług Google.

Android bez Usług Google (GMS)

Od początku istnienia Androida jego właściciel podkreślał, że jest on otwarto-źródłowy. Z tego też powodu od 2007 roku istnieje AOSP – Android Open Source Project z udostępnionym całym kodem systemu. Każdy producent  może sobie ściągnąć repozytorium i zbudować Androida skrojonego na miarę, idealnie pod swój telefon. Nawet gdy producent naszego sprzętu zapomni za jakiś czas o nas i nie dostaniemy aktualizacji, często istnieje możliwość instalacji oprogramowania nieoficjalnego. Na XDA bądź też naszym forum zwykle mamy do wyboru kilka ROMów bazujących właśnie na AOSP. Oczywiście w AOSP GMSu nie znajdziemy – ich kod jest zamknięty.

Huawei Mobile Services

Jeśli jesteś dużym graczem, to możesz pozwolić sobie na ignorowanie GMS. Tak zrobił to np. Amazon wiele lat temu w swoim systemie FireOS, dostępnym na urządzeniach KindleFire. Amerykański gigant zadbał o własną infrastrukturę – ma swój sklep oraz swoje serwisy. Wszystko sprawnie działa na ich tabletach. No dobra, ale przecież nikt przy zdrowych zmysłach nie zrezygnuje z GMS, bo gdzieś tam funkcjonują tablety Kindle z udziałem w rynku mobilnym poniżej 1%. Co jednak jeśli weźmiemy pod uwagę Huawei ze sprzedażą ponad 200 milionów smartfonów w ubiegłym roku? Drugi producent telefonów na świecie, na których nasze aplikacje nie będą działały z powodu odcięcia od Google Mobile Services? Jak sobie z tym poradzić?

Jak żyć bez Usług Google?

aplikacje spoza sklepu play appgallery apkmirror apkpure

Oczywiście pomijam możliwość rezygnacji z usług Google lub tworzenia wersji okrojonych, wybrakowanych, których przeznaczeniem jest działanie na urządzeniach bez GMS.

Huawei posiada pakiet własnych usług HMS. Może nie ma ich jeszcze tak dużo jak gigant z Mountain View, ale starają się, rozbudowują funkcjonalności i ich portfolio stale się powiększa. Co więcej, cześć tych usług, za które Google pobiera opłaty (np. mapy), jest w tej chwili u Huawei za darmo. Może więc warto się zainteresować sposobem tworzenia aplikacji, które będą poprawnie działały również na urządzeniach drugiego co do wielkości producenta urządzeń na świecie?

Stare powiedzenie mówi, że przyzwyczajenie jest drugą naturą człowieka. Lubimy podążać utartymi szlakami i nie szukamy rozwiązań, które mogą okazać się lepsze. Jednym z takich szlaków jest to, że nasza aplikacja musi być umieszczona w Google Play Store, bo inaczej nie mamy szans na zaistnienie. W zeszłym roku jednak okazało się, że nie musi to być prawdą. Firma Epic wydała grę Fortnite na Androida i zupełnie pominęli Google. Historia pokazała, że ruch ten był przemyślany i opłacił się firmie. Wniosek jest taki, że nie należy sobie zamykać żadnych drzwi na własne życzenie, jeśli nie jest to absolutnie konieczne.

Zobacz też: Huawei i Tencent przygotowują procesor dla graczy.

Huawei wykonało kawał dobrej roboty, aby przyciągnąć do siebie programistów. Widać, że nie jest to projekt, który ma wypełnić tylko chwilowo lukę po GMS, ale wielofazowy plan, który pozwoli im nie tylko uniezależnić się od Google (pomijając oczywiście AOSP), ale stworzyć dla niego realną konkurencję.

To pierwszy z serii artykułów, które przybliżą Wam temat HMS z perspektywy dewelopera. Jeśli macie jakieś pytania lub chcielibyście, abym poruszył konkretną kwestię – piszcie śmiało w komentarzach. Odwiedzajcie sekcję programowanie na Android.com.pl regularnie – będziemy publikować ciekawe materiały każdego tygodnia. Do usłyszenia!






Przewiń stronę, by przeczytać kolejny wpis
x