Google Play Services — a Google rendszerszolgáltatásainak rétege Androidon, amely biztosítja az összes Google-alkalmazás és API működését: a Google Maps-től a Firebase-ig és a Google Sign-In-ig. A Play Services külön APK-csomagként működik, amely automatikusan frissül a Google Play Store-on keresztül, függetlenül az Android firmware-frissítésektől. A Android Developers, 2025 adatai szerint a Google Play Services az összes aktív Android-eszköz 99.8%-án telepítve van, és több mint 50 külön modult foglal magában.
Főbb pontok
Google Play Services — a Google szabadalmaztatott szolgáltatási rétege, amely az Android operációs rendszer felett működik. Ellentétben az AOSP-vel (Android Open Source Project), amely csak alapvető könyvtárakat tartalmaz, a Play Services API-kat biztosít a Google ökoszisztémájával való integrációhoz: térképek, geolokáció, hitelesítés, push értesítések, hirdetések és fizetések. A Play Services rendszeralkalmazásként települ emelt jogosultságokkal, és hozzáféréssel rendelkezik olyan API-khoz, amelyek a szokásos alkalmazások számára nem elérhetők.
A Google Play Services legfontosabb különbsége a szabványos Android-könyvtáraktól — a Play Store-on keresztüli frissítési lehetőség. Ha a Google kiadja a Maps SDK vagy Auth API új verzióját, a felhasználó a Play Services-en keresztül kapja meg a frissítést, anélkül hogy várnia kellene a gyártó OTA-frissítésére. Ez megoldja az Android fragmentációs problémáját — a Statista (2025) szerint az Android-eszközök körülbelül 40%-a 3 évnél régebbi operációsrendszer-verzión fut, de a Play Services az eszközök 85%-án a legújabb verzióra van frissítve.
A Google Play Services nem része az Android Open Source Project-nek, és nem érhető el Google-licenc nélküli eszközökön (például Huawei 2019 után). A GMS nélküli eszközökön futó alkalmazásokhoz a Google a Firebase SDK használatát ajánlja cross-platform támogatással, vagy az alternatív megoldásokra (Huawei Mobile Services) való áttérést.
A Google Play Services architektúrája független modulok (APK-csomagok) készleteként épül fel, amelyek mindegyike saját funkcionalitásáért felelős. A fő APK (com.google.android.gms) tartalmazza a szolgáltatások magját és körülbelül 50 további modult, amelyek igény szerint töltődnek be. A felhasználói folyamat neve Google Play Services folyamat, és a háttérben fut magas prioritással.
A Google Play Services minden moduljának saját verziója és API-ja van. A fejlesztő csak a szükséges modulokat csatlakoztatja a build.gradle-en keresztül, ami csökkenti az alkalmazás méretét. Például a Google Sign-Inhez com.google.android.gms:play-services-auth szükséges, a Google Maps-hez — play-services-maps. A Google Play Services automatikusan feloldja a modulok közötti függőségeket, és betölti a hiányzó komponenseket.
| Komponens | Gradle csomag | Funkcionalitás |
|---|---|---|
| Auth | play-services-auth | Google Sign-In, Credential Manager, ID Token |
| Maps | play-services-maps | Google Maps SDK térképmegjelenítés, kamera |
| Location | play-services-location | FusedLocationProvider, geozónák, Activity Recognition |
| Ads | play-services-ads | Google Mobile Ads, AdMob, Ad Manager |
| Wallet | play-services-wallet | Google Pay, Passes, fizetési API |
| SafetyNet | play-services-safetynet | Eszközellenőrzés, reCAPTCHA, tanúsítás |
Kommunikáció az alkalmazás és a Play Services között AIDL-en (Android Interface Definition Language) keresztül történik. Az alkalmazás meghívja az SDK metódusait, az SDK IPC-kéréseket küld a Google Play Services folyamatba, amely elvégzi a tényleges munkát (hálózati kérések a Google szervereihez, GPS-munka, kriptográfia). A Play Services folyamat el van szigetelve az alkalmazástól — ha összeomlik, az alkalmazás tovább működik.
Google Play Services automatikusan frissül a Google Play Store-on keresztül — a felhasználó a háttérben kapja meg az új verziót megerősítés nélkül. A frissítések szakaszosan (staged rollout) kerülnek terjesztésre: először az eszközök 1%-ára, majd 10, 50 és 100%-ára. Ha az új verzióban kritikus hibát fedeznek fel, a Google 24 órán belül visszaállíthatja a frissítést egy stabil verzióra.
A Google Play Services verziója két számmal van kódolva: APK-verzió (pl. 25.15.32) és SDK-verzió (pl. 12.8.0). A fejlesztő számára fontos, hogy ellenőrizze a Play Services verzióját az eszközön a GoogleApiAvailability segítségével — ha a felhasználó kikapcsolta az automatikus frissítést vagy egyedi firmware-t használ, a verzió elavult lehet. A Google szerint az aktív eszközökön a Play Services átlagos verziója nem régebbi 6 hónapnál.
// Google Play Services verziójának ellenőrzése az eszközön
val availability = GoogleApiAvailability.getInstance()
val resultCode = availability.isGooglePlayServicesAvailable(context)
when (resultCode) {
ConnectionResult.SUCCESS ->
Log.d("GMS", "Google Play Services elérhető")
ConnectionResult.SERVICE_MISSING,
ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED -> {
// Frissítési párbeszédablak megjelenítése
availability.showErrorDialogFragment(
activity, resultCode, REQUEST_CODE
)
}
}Verzióproblémák: ha a Google Play Services ki van kapcsolva (a felhasználó manuálisan kikapcsolta a beállításokban), az összes Google API leáll. Az alkalmazásnak minden Google API-hívás előtt ellenőriznie kell a Play Services elérhetőségét, és egyértelmű üzenetet kell megjelenítenie a felhasználónak egy gombbal a beállításokhoz vagy a Play Services letöltéséhez. A Google hibapárbeszédpanelt biztosít a showErrorDialogFragment-en keresztül, amely automatikusan a Play Store-ba vezet.
Google Play Services Auth — a hitelesítési modul, amely Google Sign-In, Credential Manager és Smart Lock szolgáltatásokat nyújt a jelszavakhoz. 2024-től a Google a Credential Manager-t ajánlja egységes API-ként minden hitelesítési típushoz. Google Play Services Maps — Google Térképek megjelenítése, geokódolás, Places API és útvonalak. Location — Fused Location Provider, amely egyesíti a GPS-t, Wi-Fi-t és mobiladatokat a pontos helymeghatározáshoz minimális energiafogyasztással.
A Google Play Services Wallet modul támogatja a Google Pay-t alkalmazásokban és weboldalakon történő fizetéshez, valamint a Google Passes-t (hűségkártyák, beszállókártyák, jegyek). SafetyNet (Play Integrity API váltja fel) — az eszköz integritásának ellenőrzése: root hozzáférés, egyedi firmware, emulátor. Play Integrity API (2024-től ajánlott) — pontosabb ellenőrzés: device integrity (integritás), app integrity (aláírás), account integrity (Google-fiók).
// Helymeghatározás kérése FusedLocationProvider-en keresztül
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()
)
}A Google Play Services Awareness modul — kombinált API, amely egyesíti a helyszínre, időre, időjárásra, felhasználói aktivitásra és csatlakoztatott fejhallgatókra vonatkozó adatokat. Az Awareness API lehetővé teszi az alkalmazás számára, hogy reagáljon a kontextusra: például kapcsolja be a néma módot, amikor a felhasználó munkahelyén van, vagy jelenítsen meg esőre figyelmeztető értesítést, mielőtt kilép. API elérhető Play Services 16.0.0-tól.
A Google Play Services integrációja Android projektbe a függőségek hozzáadásával történik az alkalmazás szintű build.gradle-ben. A Google az önálló moduláris függőségek használatát ajánlja az általános play-services-all csomag helyett, hogy csökkentse az APK méretét. A Play Services SDK minimális verziója — 21.0.0 (megfelel Android 14-nek), de a legtöbb modul támogatja az API 19+-t.
Az integrációhoz konfigurálni kell a Google Services Gradle Plugin-t és a google-services.json fájlt, amely a Firebase Console-ból tölthető le. A JSON fájl tartalmazza a projektazonosítókat, API-kulcsokat és Client ID-t az OAuth-hoz. google-services.json nélkül a legtöbb Play Services modul nem tud hitelesítést végezni a Google szerverein. Ha a projekt nem használ Firebase-t, elég hozzáadni az API-kulcsot az AndroidManifest.xml-ben.
// build.gradle (projektszint)
buildscript {
dependencies {
classpath "com.google.gms:google-services:4.4.2"
}
}
// build.gradle (alkalmazásszint)
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"
}Fontos árnyalat: a különböző Google Play Services modulok eltérő verziókat igényelhetnek egymástól. Ha az egyik modul play-services-basement 18.0.0 verziót igényel, a másik pedig 18.1.0-t, a Gradle a magasabb verzió javára oldja fel a konfliktust. Javasolt egységes verziót használni az összes modulhoz egy változón keresztül: ext.playServicesVersion = '21.2.0'. A Google Play Services a compileSdk verziójától is függ — a 21.0.0 verzióhoz compileSdk 34+ szükséges.
Az Google Play Services nélküli eszközök (Huawei, Honor, néhány kínai márka) nem használhatják a GMS által nyújtott API-kat. Az ilyen eszközökhöz a Google a Firebase SDK-t ajánlja, amely cross-platform könyvtárakat tartalmaz, amelyek Play Services nélkül is működnek. A Firebase Authentication közvetlenül REST API-t használ, a Firebase Realtime Database — WebSocket-kapcsolatot, a Firebase Cloud Messaging — saját protokollt.
Alternatív megközelítés — a Huawei Mobile Services (HMS) használata, amely hasonló API-kat biztosít: Huawei Maps Kit, Location Kit, Push Kit. Mindkét eszköztípus támogatásához a fejlesztők absztrakt réteget implementálnak, amely induláskor érzékeli a GMS vagy HMS jelenlétét, és csatlakoztatja a megfelelő SDK-t. A Counterpoint Research (2025) szerint a GMS nélküli eszközök aránya a globális Android-piac körülbelül 5%-át teszi ki.
// GMS jelenlétének ellenőrzése az eszközön
fun isGmsAvailable(): Boolean {
return try {
GoogleApiAvailability.getInstance()
.isGooglePlayServicesAvailable(context) ==
ConnectionResult.SUCCESS
} catch (e: Exception) {
false
}
}
// Absztrakt réteg GMS/HMS számára
interface PushService {
fun getToken(): String
}
class GmsPushService : PushService {
override fun getToken() =
FirebaseMessaging.getInstance().token.await()
}A GMS nélküli eszközökön futó alkalmazások esetében kritikus fontosságú a Google API-kat használó összes funkció tesztelése. A Play Services SERVICE_MISSING hibát ad vissza, ha a szolgáltatás nem található. Graceful degradation javasolt: ha a Google Sign-In nem elérhető, kínáljon e-mailes bejelentkezést; ha a Google Maps nem elérhető, jelenítsen meg WebView-t Yandex Maps vagy OpenStreetMap tartalommal. A Huawei AppGallery a világ összes Android-alkalmazásának körülbelül 15%-át publikálja.
Teljes példa a Google Play Services elérhetőségének ellenőrzésére és az összes lehetséges állapot kezelésére: szolgáltatás elérhető, frissítés szükséges, szolgáltatás kikapcsolva, szolgáltatás hiányzik. A kód a GoogleApiAvailability-t használja az ellenőrzéshez és a showErrorDialogFragment-et a szabványos Google párbeszédpanel megjelenítéséhez a Play Store-ba való navigációval.
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()
}
}Javasolt a Google Play Services elérhetőségét minden alkalmazásindításkor ellenőrizni, nem csak az elsőnél. A felhasználó az alkalmazás telepítése után kikapcsolhatja a Play Services-t a beállításokban, ami az összes Google API működésképtelenségéhez vezet. A kritikus funkcióknál (például Google Pay-en keresztüli fizetés) az ellenőrzésnek kötelezőnek kell lennie — Play Services nélkül az alkalmazás nem tudja feldolgozni a fizetést.
Play Core — egy Google Play Services könyvtár az alkalmazásmodulok kezeléséhez, futásidejű frissítésekhez és további erőforrások letöltéséhez. A Play Core lehetővé teszi a Dynamic Delivery implementációját — az alkalmazásmodulok igény szerinti szállítását: a felhasználó letölti az alapalkalmazást, és a további funkciók (például adminisztrációs modul vagy Premium tartalom) csak akkor töltődnek le, amikor a felhasználó először nyitja meg a megfelelő képernyőt.
A Google Play Services moduláris szállítása a Play Core-on keresztül 30-50%-kal csökkenti az alkalmazás kezdeti telepítési méretét. Ez különösen fontos a lassú internetű piacokon — a Google Play Console szerint minden 10 MB 1%-kal csökkenti a telepítési konverziót. A Play Core SDK Android 5.0-t (API 21) és Google Play Services 21.0.0+-t igényel. Fontos: a modul letöltése után nem törölhető, csak a teljes alkalmazás frissíthető.
// Modul igény szerinti betöltése Play Core-on keresztül
val manager = SplitInstallManagerFactory.create(context)
val request = SplitInstallRequest
.Builder()
.addModule("premium")
.build()
manager.startInstall(request)
.addOnSuccessListener {
Log.d("Split", "Premium modul betöltve")
}A Play Core-ra való migráció az alkalmazás architektúrájának megváltoztatását igényli: a funkcionalitás on-demand modulokra bomlik az Android Studio-ban, és a Gradle minden modult külön APK-ként épít fel. A Google Play Store ezután APK Set-et (Android App Bundle) hoz létre, és csak az alap APK-t szállítja a felhasználónak. A Play Core támogatja az in-app updates-t is — a felhasználó az alkalmazáson belül frissítheti azt anélkül, hogy a Play Store-ba menne. 2026-ra a Google Play alkalmazásainak körülbelül 70%-a használja az Android App Bundle-t és a Play Core-t.
Gyakran Ismételt Kérdések
Ha törli a Google Play Services-t, az összes Google-szolgáltatás leáll: Google Maps, Google Sign-In, FCM push értesítések, Google Pay, Play Integrity. Az ezeket az API-kat használó alkalmazások hibát jeleznek vagy összeomlanak. A legtöbb eszközön a Play Services nem törölhető szabványos módszerekkel — csak kikapcsolható a beállításokban.
A Google Play Services automatikusan frissül a Play Store-on keresztül. Manuális frissítéshez: nyissa meg a Play Store-t → Saját alkalmazások és játékok → keresse meg a Google Play Services-t → Frissítés. Ha a frissítés nem érhető el, töltse le a legújabb verzió APK-ját az APKMirror-ról (csak tapasztalt felhasználóknak). Az automatikus frissítés általában a megjelenést követő 2 héten belül megtörténik.
A minimálisan támogatott verzió az Android 4.4 KitKat (API 19). Azonban egyes modulok (például a Credential Manager) Android 6.0-t (API 23) vagy magasabbat igényelnek. Modern fejlesztéshez a Google az Android 14 (API 34) célzását és a Play Services 21.0.0+ verziójának használatát ajánlja. Az Android 4.4-en futó elavult eszközök csak kritikus Play Services-frissítéseket kapnak.
Igen, a Firebase SDK működhet Google Play Services nélkül a GMS nélküli eszközökön. A Firebase Authentication, Realtime Database, Firestore, Cloud Functions és Hosting nem igényel Play Services-t. A Firebase Cloud Messaging (FCM) használhatja a közvetlen HTTP protokollt a GMS helyett. Azonban a Firebase Crashlytics és Performance Monitoring a Play Services-t igényli az adatgyűjtéshez.
A Google Play Services alap APK-ja körülbelül 80-120 MB-ot foglal a rendszerpartíción. A további modulok (térképek, auth, location) igény szerint töltődnek be, és 10-50 MB-ot adhatnak hozzá. Összehasonlításképpen: az Apple Push Notification Service iOS-ben körülbelül 5 MB-ot foglal. Mérete ellenére a Play Services nem befolyásolja a felhasználó számára elérhető tárhelyet — a rendszerpartíción található.
Összefoglalás
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is