Novinky Promo akce2
logo CODEWARE
Domů Potisk etiket a karet Řešení Blog Servisní středisko

Android bez GMS (Google Mobile Services)

Mezi mobilními terminály se čím dál častěji objevují modely s Androidem bez GMS. Co obsahuje GMS popisuje náš článek ZDE. V tomto článku si ukážeme jak se bez GMS obejít.

Proč (ne)používat GMS

Google Mobile Services (GMS) vznikly jako produkt společnosti Google, která tímto balíkem propaguje své služby a umožňuje snadnou integraci služeb Google do aplikací třetích stran a samozřejmě přímo do prostředí Andoridu, který tím zásadním způsobem modifikuje. Google tímto dává snadný přístup vývojářům k jeho unikátním technologiím, na druhou stranu se pak ale tito vývojáři resp. jejich aplikace stávají také jakýmisi vazaly těchto technologií - vzniká závislost, nad kterou nemá vývojář plnou kontrolu a již několikrát v minulosti došlo k podstatným změnám v API GMS, které způsobily i nefunkčnost některých aplikací. Některé technologie jsou navíc pro použití v komerčních projektech zpoplatněné a u některých, které byly zdarma, došlo ke zpoplatnění během provozu, což způsobilo vývojářům také nemálo starostí. GMS také není žádný malý balík. Jen soubory v systému si vezmou skoro 200MB místa v uložišti a zhruba 100MB sdílené paměti, nehledě na zpomalení startu systému díky spouštění služeb GMS a nutnosti přístupu k internetu. Současné obchodní války, které vede USA a legislativní problémy v některých zemích vedou Google k tomu, že své služby v některých částech světa přestal nabízet, tudíž ani aplikace postavené nad těmito službami nejsou v těchto zemích funkční. Některé služby nejsou díky tomu dostupné ani v rámci EU (zejména díky GDPR).

Pro rozhodování, zda pořídit zařízení s GMS nebo bez, si stačí odpovědět na jednoduchou otázku: Využívá moje aplikace některou ze služeb Google? Pokud odpovíte ne, pak se bez GMS obejdete, protože technologie, které GMS obsahuje bez přímé návaznosti na služby Google, poskytují i další výrobci případně opensource komunita. Jak GMS nahradit si ukážeme dále.

Náhrada základních aplikací

Google Search,YouTube, Google Maps, Google Duo, Google Photos,Google Play Music  mají své mnohdy opensource alternativy, které jsou často i lepší než základní aplikace Google (mapy.cz, OpenStreetMap, navigace Waze, komunikátor WhatApp, atd.).

1.Náhrada obchodu GooglePlay

Jak ale nainstalovat aplikace bez obchodu GooglePlay? Snadno. Málo kdo ví, že aplikaci do systému Android lze snadno nainstalovat také pomocí souboru/balíčku APK dané aplikace. Existuje celá řada alternativních obchodů/katalogů aplikací včetně těch, které čerpají data přímo z Google Play pro distribuci těchto instalačních souborů. Jedním z nejpoužívanějších alternativních katalogů aplikací je APKMirror, který má i svojí aplikaci (https://www.apkmirror.com/).
Pro vývojáře aplikací je také dobré si uvědomit, že kromě poplatku za vystavovaní aplikací v obchodu Google (50 USD) si Google u placených aplikací bere 30% z transakce (https://support.google.com/googleplay/android-developer/answer/112622?hl=en), při splnění určitých podmínek pak 15%, což mohou být nemalé peníze.
 
Díky tomu stále více aplikací tak začíná používat pro instalaci a aktualizaci tzv. Sideloading – tzn. instalační balíček APK si stáhne buď aplikace sama jako svůj update nebo si jej stáhne uživatel pomocí webových stránek aplikace přímo z web serveru (mimo obchod Play) a manuálně nainstaluje přímo v OS Android. Alternativně si uživatel stáhne balíček do PC a ručně přenese do zařízení. S touto technologií přišli jako první vývojáři her Fortnite a PokemonGO, kteří tak chtějí být nezávislí na Google, jehož služby jsou díky obchodním válkám už nyní v některých zemích nedostupné. Sideloading používá také komunikátor WhatsApp a uvažuje o něm a částečně také již využívá Facebook.

Při manuální instalaci aplikace přímo z balíku APK, je pak třeba myslet na to, že případný update aplikace neproběhne automaticky - při vydání nové verze bude muset uživatel nové APK manuálně nainstalovat. Tento problém řeší právě Sideloading, kdy si aplikace sama stáhne svůj aktualizovaný balíček a rovnou ho i nainstaluje.

Alternativní katalogy k obchodu GooglePlay jsou:

    • APKMirror
    • Aptoide
    • Amazon Appstore
    • F-Droid
    • GetJar
    • SlideMe
    • AppBrain
    • MoboGenie
    • Galaxy Apps
    • GetAPK a další

2. Náhrada za systémové služby GMS

Součástí GMS jsou také služby které nejsou uživateli na první pohled vidět - viz náš článek o tom, co GMS obsahuje. Např. integrace webového prohlížeče (Chrome) do aplikací nebo cloudový systém Cloud Messaging - Firebase (FCM), který zprostředkovává rozhraní pro Push service (zprávy předávané mezi aplikacemi nebo servery), cloudové uložiště konfiguračních dat aplikací atd..

I pro tyto služby naštěstí existují alternativy mimo GMS. Zde si ukážeme možnosti náhrady za nejrozšířenější služby:

Např. alternativní prohlížeče:
    • Ghostery
    • Mozilla Forefox
    • Samsung Internet Browser
    • Dolphin
    • Opera Mini
    • Brave
    • atd.

Nahradit lze i interní komponentu Androidu WebView zodpovědnou za zobrazování HTML stránek přímo v aplikacích, která je defaultně řešena prohlížečem Chrome, za opensource např. GeckoView které vyvíjí Mozilla jakou součást projektu Firefox (https://mozilla.github.io/geckoview/).

Náhrada za Cloud Messaging  (Firebase neboli FCM) je ještě jednodušší, protože tyto služby dnes poskytuje již každý poskytovatel cloudových řešení jako součást svého cloudového API. Mezi nejznámější patří  např. Amazon SNS. Případně opensource projekt Pushwoosh, který své API dokonce představuje jako přímou náhradu za FCM API (Google) a další.

Náhradou za Andorid Enterprise Services je pak řada komerčních řešení často přímo od výrobců hardware jako je CipherLab nebo Honeywell, případně od výrobců různých integračních/bezpečnostních systémů. Cenově jsou tato řešení na stejné úrovni jako řešení GMS.

Co dělat pokud aplikace přeci jen potřebuje nějakou součást GMS

Pro tento případ existují projekty které zajišťují tzv. bridge - můstkové knihovny mapující funkce a volání GMS do opensource projektů. Nejznámějším projektem je microG (https://microg.org/). Při použití těchto knihoven je však třeba mít na paměti, že se nejedná o stabilní řešení, neboť nejde o oficiální náhradu knihoven GMS a řešení nemusí být 100% funkční, nehledě na to, že žádný z těchto projektů logicky nepokrývá 100% funkcí GMS. Nicméně většině aplikací stačí pouze knihovny z balíku GMS Core, které tyto projekty poskytují poměrně dobře.

Příklady nahrazení dalších služeb budeme v případě zájmu průběžně aktualizovat.

logo