Google Play Services: podstata, komponenty a vývoj Androidu

Autor: IT Sectr Publikováno: 2026-04-30 Doba čtení: 11 min

Google Play Services — je vrstva systémových služeb Google na Androidu, která zajišťuje fungování všech aplikací a API Google: od Google Maps po Firebase a Google Sign-In. Play Services fungují jako samostatný balíček APK, který se automaticky aktualizuje přes Google Play Store, nezávisle na aktualizacích firmwaru Android. Podle údajů Android Developers, 2025 jsou Google Play Services nainstalovány na 99.8 % všech aktivních zařízení s Androidem a zahrnují více než 50 samostatných modulů.

Hlavní

  • Google Play Services — systémová vrstva služeb Google pro Android, aktualizovaná odděleně od OS
  • Automatická aktualizace — Play Services se aktualizují přes Play Store nezávisle na firmwaru výrobce
  • Moduly — více než 50 komponent: Maps, Auth, Ads, Wallet, Location, SafetyNet a další
  • Úroveň API — Play Services dostupné od Android 2.3 (API 9), většina modulů od API 14+
  • Google Mobile Services — balíček GMS zahrnuje Play Services plus aplikace Google (Chrome, Gmail, YouTube)

Co jsou Google Play Services?

Google Play Services — je proprietární vrstva služeb Google fungující nad operačním systémem Android. Na rozdíl od AOSP (Android Open Source Project), který obsahuje pouze základní knihovny, Play Services poskytují API pro integraci s ekosystémem Google: mapy, geolokace, autentizace, push notifikace, reklamy a platby. Play Services se instalují jako systémová aplikace se zvýšenými oprávněními a mají přístup k API, která nejsou běžným aplikacím dostupná.

Klíčový rozdíl Google Play Services od standardních knihoven Androidu — možnost aktualizace přes Play Store. Pokud Google vydá novou verzi Maps SDK nebo Auth API, uživatel obdrží aktualizaci přes Play Services, aniž by čekal na OTA aktualizaci od výrobce. To řeší problém fragmentace Androidu — podle údajů Statista (2025) běží přibližně 40 % zařízení s Androidem na verzích OS starších 3 let, ale Play Services jsou aktualizovány na nejnovější verzi na 85 % zařízení.

Google Play Services nejsou součástí Android Open Source Project a nejsou dostupné na zařízeních bez licence Google (např. Huawei po roce 2019). Pro aplikace běžící na zařízeních bez GMS Google doporučuje používat Firebase SDK s podporou napříč platformami nebo přejít na alternativní řešení (Huawei Mobile Services).

Architektura a komponenty Play Services

Architektura Google Play Services je postavena jako sada nezávislých modulů (balíčků APK), z nichž každý odpovídá za svou funkcionalitu. Hlavní APK (com.google.android.gms) obsahuje jádro služeb a přibližně 50 dalších modulů, které se načítají na vyžádání. Proces uživatele se nazývá proces Google Play Services a běží na pozadí s vyšší prioritou.

Každý modul Google Play Services má svou vlastní verzi a API. Vývojář připojuje pouze potřebné moduly přes build.gradle, což zmenšuje velikost aplikace. Například pro Google Sign-In je potřeba com.google.android.gms:play-services-auth, pro Google Maps — play-services-maps. Google Play Services automaticky řeší závislosti mezi moduly a načítají chybějící komponenty.

KomponentaBalíček GradleFunkcionalita
Authplay-services-authGoogle Sign-In, Credential Manager, ID Token
Mapsplay-services-mapsGoogle Maps SDK vykreslování map, kamera
Locationplay-services-locationFusedLocationProvider, geozóny, Activity Recognition
Adsplay-services-adsGoogle Mobile Ads, AdMob, Ad Manager
Walletplay-services-walletGoogle Pay, Passes, platební API
SafetyNetplay-services-safetynetKontrola zařízení, reCAPTCHA, atestace

Komunikace přes AIDL

Komunikace mezi aplikací a Play Services probíhá přes AIDL (Android Interface Definition Language). Aplikace volá metody SDK, SDK odesílá požadavky IPC do procesu Google Play Services, který vykonává skutečnou práci (síťové požadavky na servery Google, práce s GPS, kryptografie). Proces Play Services je izolován od aplikace — pokud spadne, aplikace pokračuje v činnosti.

Mechanismus automatické aktualizace a verzování

Google Play Services se automaticky aktualizují přes Google Play Store — uživatel obdrží novou verzi na pozadí bez nutnosti potvrzení. Aktualizace se šíří postupně (staged rollout): nejprve na 1 % zařízení, poté na 10 %, 50 % a 100 %. Pokud je v nové verzi objevena kritická chyba, Google může aktualizaci vrátit na stabilní verzi do 24 hodin.

Verze Google Play Services je kódována dvěma čísly: verze APK (např. 25.15.32) a verze SDK (např. 12.8.0). Pro vývojáře je důležité kontrolovat verzi Play Services na zařízení přes GoogleApiAvailability — pokud uživatel vypnul automatickou aktualizaci nebo používá vlastní firmware, verze může být zastaralá. Podle Google je průměrná verze Play Services na aktivních zařízeních není starší než 6 měsíců.

kotlin
// Kontrola verze Google Play Services na zařízení
val availability = GoogleApiAvailability.getInstance()
val resultCode = availability.isGooglePlayServicesAvailable(context)

when (resultCode) {
    ConnectionResult.SUCCESS ->
        Log.d("GMS", "Google Play Services dostupné")

    ConnectionResult.SERVICE_MISSING,
    ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED -> {
        // Zobrazení dialogu aktualizace
        availability.showErrorDialogFragment(
            activity, resultCode, REQUEST_CODE
        )
    }
}

Problémy s verzemi: pokud jsou Google Play Services vypnuty (uživatel je ručně vypnul v nastavení), všechna API Google přestanou fungovat. Aplikace by měla kontrolovat dostupnost Play Services před každým voláním Google API a zobrazit uživateli srozumitelnou zprávu s tlačítkem pro přechod do nastavení nebo stažení Play Services. Google poskytuje dialog s chybou přes showErrorDialogFragment, který automaticky vede do Play Store.

Klíčové moduly a jejich účel

Google Play Services Auth — modul autentizace, poskytující Google Sign-In, Credential Manager a Smart Lock pro hesla. Od roku 2024 Google doporučuje Credential Manager jako jednotné API pro všechny typy autentizace. Google Play Services Maps — vykreslování map Google, geokódování, Places API a trasy. Location — Fused Location Provider, kombinující GPS, Wi-Fi a mobilní data pro přesné určení polohy s minimální spotřebou energie.

Play Integrity API: náhrada za SafetyNet

Modul Google Play Services Wallet podporuje Google Pay pro platby v aplikacích a na webech, stejně jako Google Passes (věrnostní programy, palubní lístky, vstupenky). SafetyNet (nahrazován Play Integrity API) — kontrola integrity zařízení: root přístup, vlastní firmware, emulátor. Play Integrity API (doporučováno od roku 2024) — přesnější kontrola: device integrity (integrita), app integrity (podpis), account integrity (účet Google).

kotlin
// Požadavek na polohu přes FusedLocationProvider
val fusedClient = LocationServices.getFusedLocationProviderClient(context)

val locationRequest = LocationRequest.Builder()
    .setPriority(Priority.PRIORITY_HIGH_ACCURACY)
    .setInterval(10000)
    .setFastestInterval(5000)
    .build()

if (ActivityCompat.checkSelfPermission(
    context, Manifest.permission.ACCESS_FINE_LOCATION
) == PackageManager.PERMISSION_GRANTED) {
    fusedClient.requestLocationUpdates(
        locationRequest,
        locationCallback,
        Looper.getMainLooper()
    )
}

Modul Google Play Services Awareness — kombinované API, spojující údaje o poloze, čase, počasí, aktivitě uživatele a připojených sluchátkách. Awareness API umožňuje aplikaci reagovat na kontext: například zapnout tichý režim, když je uživatel v práci, nebo zobrazit upozornění na déšť před odchodem. API dostupné od Play Services 16.0.0.

Integrace Google Play Services do projektu Android

Integrace Google Play Services do projektu Android se provádí přidáním závislostí do build.gradle na úrovni aplikace. Google doporučuje používat samostatné modulární závislosti, nikoli obecný balíček play-services-all, aby se zmenšila velikost APK. Minimální verze Play Services SDK — 21.0.0 (odpovídá Android 14), ale většina modulů podporuje API 19+.

Pro integraci je třeba nakonfigurovat Google Services Gradle Plugin a soubor google-services.json, který se stahuje z Firebase Console. JSON soubor obsahuje identifikátory projektu, API klíče a Client ID pro OAuth. Bez google-services.json se většina modulů Play Services nebude moci autorizovat na serverech Google. Pokud projekt nepoužívá Firebase, stačí přidat API klíč do AndroidManifest.xml.

groovy
// build.gradle (úroveň projektu)
buildscript {
    dependencies {
        classpath "com.google.gms:google-services:4.4.2"
    }
}

// build.gradle (úroveň aplikace)
apply plugin: 'com.google.gms.google-services'

dependencies {
    implementation "com.google.android.gms:play-services-auth:21.2.0"
    implementation "com.google.android.gms:play-services-maps:19.0.0"
    implementation "com.google.android.gms:play-services-location:21.3.0"
}

Důležitá nuance: různé moduly Google Play Services mohou vyžadovat různé verze navzájem. Pokud jeden modul vyžaduje play-services-basement verzi 18.0.0 a druhý 18.1.0, Gradle vyřeší konflikt ve prospěch vyšší verze. Doporučuje se používat jednotnou verzi pro všechny moduly pomocí proměnné: ext.playServicesVersion = '21.2.0'. Google Play Services také závisí na verzi compileSdk — pro verzi 21.0.0 je vyžadován compileSdk 34+.

Zařízení Android bez Google Play Services

Zařízení bez Google Play Services (Huawei, Honor, některé čínské značky) nemohou používat API poskytovaná GMS. Pro taková zařízení Google doporučuje Firebase SDK, který obsahuje multiplatformní knihovny fungující bez Play Services. Firebase Authentication používá REST API přímo, Firebase Realtime Database — WebSocket připojení, Firebase Cloud Messaging — vlastní protokol.

Alternativní přístup — použití Huawei Mobile Services (HMS), které poskytují podobná API: Huawei Maps Kit, Location Kit, Push Kit. Pro podporu obou typů zařízení vývojáři implementují abstraktní vrstvu, která při spuštění zjistí přítomnost GMS nebo HMS a připojí odpovídající SDK. Podle Counterpoint Research (2025) činí podíl zařízení bez GMS přibližně 5 % celosvětového trhu Android.

kotlin
// Kontrola přítomnosti GMS na zařízení
fun isGmsAvailable(): Boolean {
    return try {
        GoogleApiAvailability.getInstance()
            .isGooglePlayServicesAvailable(context) ==
            ConnectionResult.SUCCESS
    } catch (e: Exception) {
        false
    }
}

// Abstraktní vrstva pro GMS/HMS
interface PushService {
    fun getToken(): String
}

class GmsPushService : PushService {
    override fun getToken() =
        FirebaseMessaging.getInstance().token.await()
}

Abstraktní vrstva GMS a HMS

Pro aplikace běžící na zařízeních bez GMS je kritické testovat všechny funkce využívající Google API. Play Services vracejí chybu SERVICE_MISSING, pokud služba není nalezena. Doporučuje se graceful degradation: pokud Google Sign-In není k dispozici, nabídněte přihlášení e-mailem; pokud Google Maps nejsou k dispozici, zobrazte WebView s Yandex Maps nebo OpenStreetMap. Huawei AppGallery publikuje přibližně 15 % všech Android aplikací na světě.

Příklad kódu: kontrola a aktualizace Play Services

Úplný příklad kontroly dostupnosti Google Play Services a zpracování všech možných stavů: služba dostupná, vyžadována aktualizace, služba vypnuta, služba chybí. Kód používá GoogleApiAvailability pro kontrolu a showErrorDialogFragment pro zobrazení standardního dialogu Google s přechodem do Play Store.

kotlin
class GmsCheckActivity : AppCompatActivity() {

    companion object {
        private const val REQ_UPDATE = 1001
    }

    fun checkGooglePlayServices() {
        val api = GoogleApiAvailability.getInstance()
        when (api.isGooglePlayServicesAvailable(this)) {
            ConnectionResult.SUCCESS ->
                initializeApp()
            ConnectionResult.SERVICE_DISABLED ->
                showSettingsDialog()
            ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED ->
                api.showErrorDialogFragment(
                    this, ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED,
                    REQ_UPDATE
                )
        }
    }

    override fun onActivityResult(request: Int,
            result: Int, data: Intent?) {
        super.onActivityResult(request, result, data)
        if (request == REQ_UPDATE && result == RESULT_OK)
            initializeApp()
    }
}

Doporučuje se kontrolovat dostupnost Google Play Services při každém spuštění aplikace, nejen při prvním. Uživatel může Play Services vypnout v nastavení po instalaci aplikace, což povede k nefunkčnosti všech Google API. Pro kritické funkce (např. platba přes Google Pay) by měla být kontrola povinná — bez Play Services aplikace nemůže zpracovat platbu.

Migrace na Play Core a Modular Delivery

Play Core — je knihovna Google Play Services pro správu modulů aplikace, aktualizace za běhu a stahování dalších zdrojů. Play Core umožňuje implementaci Dynamic Delivery — doručování modulů aplikace na vyžádání: uživatel stáhne základní aplikaci a další funkce (např. modul správy nebo Premium obsah) se stahují pouze tehdy, když uživatel poprvé otevře odpovídající obrazovku.

Modulární doručování Google Play Services přes Play Core snižuje velikost počáteční instalace aplikace o 30-50 %. To je důležité zejména pro trhy s pomalým internetem — podle Google Play Console každých 10 MB snižuje konverzi instalace o 1 %. Play Core SDK vyžaduje Android 5.0 (API 21) a Google Play Services 21.0.0+. Důležité: po stažení modulu jej nelze odstranit, lze aktualizovat pouze celou aplikaci.

kotlin
// Načtení modulu na vyžádání přes Play Core
val manager = SplitInstallManagerFactory.create(context)
val request = SplitInstallRequest
    .Builder()
    .addModule("premium")
    .build()

manager.startInstall(request)
    .addOnSuccessListener {
        Log.d("Split", "Modul Premium načten")
    }

Migrace na Play Core vyžaduje změnu architektury aplikace: funkcionalita se rozdělí do modulů on-demand v Android Studio a Gradle sestaví každý modul jako samostatný APK. Google Play Store poté vytvoří APK Set (Android App Bundle) a doručí uživateli pouze základní APK. Play Core také podporuje in-app updates — uživatel může aktualizovat aplikaci zevnitř, aniž by musel do Play Store. Do roku 2026 přibližně 70 % aplikací v Google Play používá Android App Bundle a Play Core.

Často kladené otázky

Co se stane, když smažu Google Play Services na Androidu?

Pokud smažete Google Play Services, přestanou fungovat všechny služby Google: Google Maps, Google Sign-In, push notifikace FCM, Google Pay, Play Integrity. Aplikace používající tato API budou zobrazovat chyby nebo padat. Na většině zařízení nelze Play Services smazat standardními prostředky — pouze vypnout v nastavení.

Jak ručně aktualizovat Google Play Services?

Google Play Services se aktualizují automaticky přes Play Store. Pro ruční aktualizaci: otevřete Play Store → Moje aplikace a hry → najděte Google Play Services → Aktualizovat. Pokud aktualizace není k dispozici, stáhněte APK nejnovější verze z APKMirror (pouze pro zkušené uživatele). Automatická aktualizace obvykle proběhne do 2 týdnů od vydání.

Jaká je minimální verze Androidu pro Google Play Services?

Minimální podporovaná verze je Android 4.4 KitKat (API 19). Některé moduly (např. Credential Manager) však vyžadují Android 6.0 (API 23) nebo vyšší. Pro moderní vývoj Google doporučuje cílit na Android 14 (API 34) a používat Play Services verze 21.0.0+. Zastaralá zařízení na Android 4.4 dostávají pouze kritické aktualizace Play Services.

Mohu používat Firebase bez Google Play Services?

Ano, Firebase SDK může fungovat bez Google Play Services na zařízeních bez GMS. Firebase Authentication, Realtime Database, Firestore, Cloud Functions a Hosting nevyžadují Play Services. Firebase Cloud Messaging (FCM) může používat přímý HTTP protokol místo GMS. Nicméně Firebase Crashlytics a Performance Monitoring vyžadují Play Services pro sběr dat.

Jak velké je APK Google Play Services?

Základní APK Google Play Services zabírá přibližně 80-120 MB v systémové oblasti. Další moduly (mapy, auth, location) se načítají na vyžádání a mohou přidat 10-50 MB. Pro srovnání: Apple Push Notification Service v iOS zabírá přibližně 5 MB. Navzdory velikosti Play Services neovlivňují dostupné úložiště uživatele — nacházejí se v systémové oblasti.

Shrnutí

  • Google Play Services — systémová vrstva služeb Google zajišťující fungování Maps, Auth, Ads, Location a dalších API
  • Automatická aktualizace — Play Services se aktualizují přes Play Store nezávisle na firmwaru, řeší problém fragmentace
  • Moduly — více než 50 nezávislých komponent připojených přes samostatné závislosti Gradle
  • Kontrola — GoogleApiAvailability umožňuje určit verzi Play Services a nabídnout uživateli aktualizaci
  • Zařízení bez GMS — Huawei a další značky používají HMS; Firebase SDK podporuje práci bez Play Services
  • Play Core — knihovna pro modulární doručování, aktualizace v aplikaci a dynamické načítání funkcionality
  • Play Integrity API — moderní náhrada SafetyNet pro kontrolu integrity zařízení a aplikace

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také