Po co nam usługi Google Play?

Programowanie 2019-02-16

Witajcie w kolejnym odcinku. Jakiś czas temu Adam napisał artykuł rozjaśniający nieco temat usług Google Play. Temat Was bardzo zainteresował i w komentarzach wywiązała się ciekawa dyskusja na ten temat. Ja chciałbym opisać sprawę od nieco innej strony. Dowiecie się, jak wygląda kontakt z Usługami Google z perspektywy programisty i po co one nam potrzebne.

Usługi Google Play — kilka formalności

Jeśli ktoś jest zainteresowany szerszym opisem co to takiego, to odsyłam do przytoczonego już przeze mnie artykułu AdamaTutaj chciałbym przytoczyć tylko najważniejsze informacje. Google Play Services jest aplikacją Google umożliwiającą korzystanie z ich usług takich jak na przykład mapy, powiadomienia push i tak dalej. W przeciwieństwie do systemu Android, aplikacja ta nie jest otwartoźródłowa, dlatego nie wiemy o jej wszystkich funkcjonalnościach. Jest to również bardzo specyficzny rodzaj programu, ponieważ bardzo często jest on zainstalowany domyślnie oraz posiada wiele uprawnień, również tych mocno ingerujących w naszą prywatność.

 

Dlaczego niektóre aplikacje wymagają instalacji Usług Google Play?

Nieraz natrafiłem na podobne pytania, przeważnie w formie zarzutu, że programiści robią to celowo, aby szpiegować użytkowników. Jest w tym ziarenko prawdy, bo Usługi Google Play są wymagane do implementacji narzędzi analitycznych Google. Jednak jak mogliście się przekonać w odcinku o śledzeniu użytkowników, programiści nie mają dostępu do naszych prywatnych danych. Co więcej, jeśli chodziłoby tylko o szpiegowanie, to programiści mogliby użyć narzędzia jakiejś innej firmy, bez potrzeby wymuszania posiadania usług Google Play. No dobrze, więc jeśli nie do śledzenia, to po co niektóre programy wymuszają instalację tej aplikacji?

Odpowiedź przewinęła się już w poprzednim akapicie. Aplikacja ta jest czymś w rodzaju pośrednika pomiędzy serwisami Google. Tak więc, jeśli chcecie zintegrować w swojej aplikacji mapy, powiadomienia push czy Captche, to musicie skorzystać do tego z Usług Google Play, lub wybrać konkurencyjne rozwiązania od innych dostawców.

Jak wygląda wykorzystanie Usług Google Play przez programistów?

Jak powszechnie wiadomo Google to nie tylko Android. Firma ta jest znana z wielu swoich świetnych serwisów, takich jak YouTube, Mapy, Google Analytics i multum innych. Programiści w swoich aplikacjach bardzo często korzystają z tych usług. W niektórych przypadkach mogliby integrować się ręcznie z API Google (zobacz odcinek: W jaki sposób aplikacje pobierają dane z zewnętrznych serwisów i czym jest API?)jednak jest to mocno upierdliwe rozwiązanie. Zamiast tego możemy wykorzystać biblioteki przygotowane przez Google, które upraszczają całą komunikację i zostawiają programiście absolutne minimum pracy.

Jak to wygląda w praktyce? Zamiast łączyć się bezpośrednio z serwerami Google, my przekazujemy niezbędne informacje bibliotekom Google i one same zajmują się autentykacją, zarządzaniem sesją, wykonywaniem niezbędnych zapytań i tak dalej. My możemy skupić się na ważniejszych sprawach. Takie podejście eliminuje również liczbę możliwych błędów do popełnienia. Nic więc dziwnego, że programiści w większości przypadków wybierają wygodę i korzustają z bilbiotek Google.

 

Usługi Google Play — dlaczego budzą takie kontrowersje?

Wspomniane kontrowersje występują nie tylko w środowisku użytkowników Androida, ale także wśród programistów. Użytkownicy krytykują nie do końca jasne wykorzystanie tej aplikacji. Google niezbyt dokładnie informuje użytkowników, co ta aplikacja tak właściwie robi. Sam to doskonale rozumiem. Nic dziwnego, że aplikacja zużywająca sporo baterii, transferu danych i wymagająca ogromną liczbę uprawnień budzi niepokój wśród użytkowników. 

Z drugiej strony są programiści, którzy znają odpowiedzi na większość pytań zadanych powyżej, mimo to też krytykują Google za tę aplikację — dlaczego? Chodzi o nierówną konkurencję. Ta aplikacja jest zainstalowana na większości smartfonów z Androidem, a dodatkowo większość z nich przydziela jej wszystkie pozwolenia. To już na starcie daje Google niesamowitą przewagę. W swoich aplikacjach mogą korzystać praktycznie z nielimitowanej władzy za pośrednictwem Usług Google Play.

Drugim zarzutem jest nierówny dostęp do zasobów systemowych. Zwykły programista, tworząc swoją aplikację, musi liczyć się z licznymi ograniczeniami dotyczącymi wykonywania zadań w tle lub dostępu do lokalizacji. Tymczasem aplikacja Usługi Google Play działa cały czas.

 

Jak odzyskać nieco prywatności?

Mało kto wie, ale Usługi Google Play można pozbawić pozwoleń lub całkowicie wyłączyć. Możecie to zrobić, wchodząc w Ustawienia > Aplikacje, następnie odszukać Usługi Google Play i w sekcji Zezwolenia wyłączyć co tylko chcecie. Ostrzegam jednak, że Google będzie Was męczył powiadomieniami za każdym razem, gdy uruchomicie jakąś ich aplikację. Sprawa jest bardzo dziwna, bo tekst powiadomienia informuje nas o tym, że bez odpowiednich uprawnień aplikacje Google nie będą działać poprawnie, jednak okazuje się, że nic takiego się nie dzieje.

Ja u siebie mam włączoną jedynie lokalizacje oraz dostęp do kontaktów i nie zauważyłem problemów z działaniem żadnej z aplikacji Google, a używam ich naprawdę sporo. Polecam również blokowanie grupy powiadomień, które informują nas o braku pozwoleń. Dzięki temu unikniecie irytujących próśb o przydzielenie dodatkowych uprawnień.

 

Czy mamy się czego obawiać?

Jak powszechnie wiadomo, system Android jest projektem otwartoźródłowym. Każdy może podejrzeć jego kod, dzięki czemu jest mało prawdopodobne, że znajdą się w nim jakieś niebezpieczne porcje kodu. Przeciwieństwem są właśnie Usługi Google Play, ponieważ ich kod nie jest nigdzie publikowany. Ten artykuł nie ma na celu oczernianie tej aplikacji, ponieważ nie ma żadnych dowodów na jej niebezpieczne działanie. Chcę jednak uświadomić użytkowników, że na ich urządzeniach działa aplikacja mająca domyślnie dostęp praktycznie do wszystkiego, tak więc warto przemyśleć odebranie jej kilku pozwoleń w celu lepszej ochrony prywatności.

Może dzięki zwiększeniu świadomości użytkowników Google w końcu zacznie lepiej wyjaśniać użytkowników, dlaczego potrzebują tej aplikacji. Ponieważ opis w sklepie Play jest dość skromny i pomija sporo ważnych aspektów.

 

Czy da się żyć bez Usług Google Play?

Istnieje wiele ROMów, które nie posiadają w ogóle aplikacji od Google w tym także Usług Google Play. Jednak należy sobie odpowiedzieć na pytanie, czy jesteśmy w stanie bez nich żyć? Załóżmy jednak, że jesteś gotowy zrezygnować ze wszystkich aplikacji Google po to, by nie marnować niepotrzebnie zasobów swojego telefonu na zbędne procesy. Musisz być jednak świadomy, że oprócz aplikacji Google, możesz stracić też dostęp do wielu innych, całkowicie niezależnych aplikacji.

Tak jak wspomniałem wyżej, aplikacje korzystające z usług Google takich jak mapy, powiadomienia push itp. łączą się z nimi za pomocą Usług Google Play. Jeśli nie znajdują się one na Twoim urządzeniu, będziesz zdany na łaskę programistów. Jeśli nie założyli oni takiego scenariusza, w ogóle nie będziesz w stanie uruchomić aplikacji, w przeciwnym wypadku zostaniesz pozbawiony niektórych funkcjonalności aplikacji.

Odpowiadając na zadane pytanie, da się pozbyć całkowicie aplikacje Google, jednak korzystanie z systemu Android będzie wtedy mocno utrudnione. W Internecie wiele razy natrafiałem na ludzi zadających podobne pytanie. Bardzo często pojawiała się tam odpowiedź mówiąca, że jeśli nie chcesz mieć aplikacji Google, to powinieneś wybrać inny system operacyjny. Muszę przyznać, że jest w tym sporo prawdy, ponieważ ekosystem Google jest mocno związany z Androidem i ciężko się go pozbyć bez większych kompromisów. Z drugiej strony rozumiem też motywacje Google — tworzą oni otwarty system i nic dziwnego, że chcą w nim zarabiać za pośrednictwem swoich aplikacji.

 

To już koniec na dzisiaj, dzięki za dotrwanie do końca! Zachęcam do pisania komentarzy z propozycjami kolejnych tematów. Widzimy się za tydzień, gdzie opiszę, jak działa aplikacja Shazam. Do zobaczenia!

Zapraszam również na największe w Polsce forum dla programistów Android. Jeśli macie pytania odnośnie do kariery programisty — zapraszam do działu Kariera programowanie. Zachęcam również do przejrzenia działu Praca oraz zlecenia dla programistów — być może to właśnie tam znajdziesz swoją pierwszą pracę.

Poprzednie odcinki:

  1. Typowy dzień pracy programisty
  2. Wady pracy programisty
  3. Zalety pracy programisty
  4. [FAQ] Wszystko, co powinieneś wiedzieć, jeśli interesuje Cię praca programisty
  5. Co mnie zdziwiło w programowaniu?
  6. Motywacje – w jaki sposób nie stracić zapału do programowania?
  7. Jaką firmę wybrać na początku kariery programisty?
  8. Jak wygląda rozmowa o pracę na stanowisko programisty?
  9. Jak zacząć programować?
  10. Skąd czerpać wiedzę o programowaniu?
  11. Początki programowania — jaką technologię wybrać?
  12. Cykl życia aplikacji na Androida — co to takiego?
  13. Jak tworzymy interfejs użytkownika w aplikacjach na Androida?
  14. Jak system Android oszczędza energię?
  15. Jak działają i czym są powiadomienia push w Androidzie?
  16. W jaki sposób aplikacje pobierają dane z zewnętrznych serwisów i czym jest API?
  17. Jak działają pozwolenia w systemie Android?
  18. Śledzenie użytkowników — co wiedzą o nas aplikacje?
  19. Dlaczego aplikacje na Androida zajmują coraz więcej miejsca?
  20. Frameworki crossplatform – jak stworzyć aplikację na iOS i Androida jednocześnie?
  21. Jak obsłużyć kilka języków w aplikacji na Androida?
  22. Dodatkowe funkcjonalności Androida, których nikt nie wspiera
  23. Co się dzieje podczas kompilacji aplikacji na Androida?
  24. AppBundle — jak Google rewolucjonizuje Androida?
  25. W jaki sposób testujemy aplikacje na Androida?
  26. Jak zabezpieczamy aplikacje na Androida?
  27. Początki programowania na Androida — Java czy Kotlin?
  28. Główne zasady programowania — o tym musisz pamiętać!

 

 






Przewiń stronę, by przeczytać kolejny wpis
x