Google Play Services — bu Android-dagi Google tizim xizmatlarining qatlami bo‘lib, barcha Google ilovalari va API-larining ishlashini ta'minlaydi: Google Maps-dan Firebase va Google Sign-In gacha. Play Services alohida APK paketi sifatida ishlaydi, Android proshivka yangilanishlaridan mustaqil ravishda Google Play Store orqali avtomatik yangilanadi. Android Developers, 2025 ma'lumotlariga ko‘ra, Google Play Services barcha faol Android qurilmalarining 99.8% da o‘rnatilgan va 50 dan ortiq alohida modullarni o‘z ichiga oladi.
Asosiy
Google Play Services — bu Android operatsion tizimi ustida ishlaydigan Google-ning mulkiy xizmatlar qatlami. Faqat asosiy kutubxonalarni o‘z ichiga olgan AOSP (Android Open Source Project) dan farqli o‘laroq, Play Services Google ekotizimi bilan integratsiya uchun API-larni taqdim etadi: xaritalar, geolokatsiya, autentifikatsiya, push bildirishnomalar, reklama va to‘lovlar. Play Services yuqori imtiyozlarga ega tizim ilovasi sifatida o‘rnatiladi va oddiy ilovalar uchun mavjud bo‘lmagan API-larga kirish huquqiga ega.
Google Play Services ning standart Android kutubxonalaridan asosiy farqi — Play Store orqali yangilanish imkoniyati. Agar Google Maps SDK yoki Auth API ning yangi versiyasini chiqarsa, foydalanuvchi ishlab chiqaruvchining OTA yangilanishini kutmasdan Play Services orqali yangilanishni oladi. Bu Android fragmentatsiyasi muammosini hal qiladi — Statista (2025) ma'lumotlariga ko‘ra, Android qurilmalarining taxminan 40% 3 yildan eski OT versiyalarida ishlaydi, ammo Play Services 85% qurilmalarda eng so‘nggi versiyaga yangilangan.
Google Play Services Android Open Source Project ning bir qismi emas va Google litsenziyasiga ega bo‘lmagan qurilmalarda (masalan, 2019 yildan keyin Huawei) mavjud emas. GMS bo‘lmagan qurilmalarda ishlaydigan ilovalar uchun Google ko‘p platformali qo‘llab-quvvatlashga ega Firebase SDK dan foydalanishni yoki alternativ yechimlarga (Huawei Mobile Services) o‘tishni tavsiya qiladi.
Google Play Services arxitekturasi mustaqil modullar (APK paketlari) to‘plami sifatida qurilgan, har biri o‘z funksionalligi uchun javob beradi. Asosiy APK (com.google.android.gms) xizmatlar yadrosini va talab bo‘yicha yuklanadigan taxminan 50 ta qo‘shimcha modulni o‘z ichiga oladi. Foydalanuvchi jarayoni Google Play Services jarayoni deb ataladi va yuqori ustuvorlik bilan fonda ishlaydi.
Google Play Services ning har bir moduli o‘z versiyasi va API siga ega. Dasturchi faqat kerakli modullarni build.gradle orqali ulaydi, bu esa ilova hajmini kamaytiradi. Masalan, Google Sign-In uchun com.google.android.gms:play-services-auth, Google Maps uchun — play-services-maps kerak. Google Play Services modullar orasidagi bog‘liqliklarni avtomatik hal qiladi va yetishmayotgan komponentlarni yuklaydi.
| Komponent | Gradle paketi | Funksionallik |
|---|---|---|
| Auth | play-services-auth | Google Sign-In, Credential Manager, ID Token |
| Maps | play-services-maps | Google Maps SDK xarita renderlash, kamera |
| Location | play-services-location | FusedLocationProvider, geozonalar, Activity Recognition |
| Ads | play-services-ads | Google Mobile Ads, AdMob, Ad Manager |
| Wallet | play-services-wallet | Google Pay, Passes, to‘lov API |
| SafetyNet | play-services-safetynet | Qurilma tekshiruvi, reCAPTCHA, attestatsiya |
O‘zaro aloqa ilova va Play Services o‘rtasida AIDL (Android Interface Definition Language) orqali amalga oshiriladi. Ilova SDK metodlarini chaqiradi, SDK Google Play Services jarayoniga IPC so‘rovlarini yuboradi, u esa haqiqiy ishni bajaradi (Google serverlariga tarmoq so‘rovlari, GPS bilan ishlash, kriptografiya). Play Services jarayoni ilovadan izolyatsiya qilingan — agar u ishlamay qolsa, ilova ishini davom ettiradi.
Google Play Services Google Play Store orqali avtomatik yangilanadi — foydalanuvchi tasdiqlashsiz fonda yangi versiyani oladi. Yangilanishlar bosqichma-bosqich (staged rollout) tarqatiladi: avval qurilmalarning 1% ga, keyin 10%, 50% va 100% ga. Agar yangi versiyada tanqidiy xato aniqlansa, Google 24 soat ichida yangilanishni barqaror versiyaga qaytarishi mumkin.
Google Play Services versiyasi ikkita raqam bilan kodlanadi: APK versiyasi (masalan, 25.15.32) va SDK versiyasi (masalan, 12.8.0). Dasturchi uchun GoogleApiAvailability orqali qurilmada Play Services versiyasini tekshirish muhim — agar foydalanuvchi avtomatik yangilanishni o‘chirgan bo‘lsa yoki maxsus proshivkadan foydalansa, versiya eskirgan bo‘lishi mumkin. Google ma'lumotlariga ko‘ra, faol qurilmalarda Play Services ning o‘rtacha versiyasi 6 oydan eski emas.
// Qurilmada Google Play Services versiyasini tekshirish
val availability = GoogleApiAvailability.getInstance()
val resultCode = availability.isGooglePlayServicesAvailable(context)
when (resultCode) {
ConnectionResult.SUCCESS ->
Log.d("GMS", "Google Play Services mavjud")
ConnectionResult.SERVICE_MISSING,
ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED -> {
// Yangilash dialogini ko‘rsatamiz
availability.showErrorDialogFragment(
activity, resultCode, REQUEST_CODE
)
}
}Versiya muammolari: agar Google Play Services o‘chirilgan bo‘lsa (foydalanuvchi sozlamalarda qo‘lda o‘chirgan), barcha Google API lari ishlashni to‘xtatadi. Ilova har bir Google API chaqiruvidan oldin Play Services mavjudligini tekshirishi va foydalanuvchiga sozlamalarga yoki Play Services ni yuklashga o‘tish tugmasi bilan tushunarli xabarni ko‘rsatishi kerak. Google showErrorDialogFragment orqali avtomatik Play Store ga olib boradigan xato dialogini taqdim etadi.
Google Play Services Auth — Google Sign-In, Credential Manager va parollar uchun Smart Lock ni taqdim etuvchi autentifikatsiya moduli. 2024 yildan boshlab Google barcha autentifikatsiya turlari uchun yagona API sifatida Credential Manager ni tavsiya qiladi. Google Play Services Maps — Google xaritalarini renderlash, geokodlash, Places API va marshrutlar. Location — minimal energiya sarfi bilan aniq joyni aniqlash uchun GPS, Wi-Fi va mobil ma'lumotlarni birlashtiruvchi Fused Location Provider.
Google Play Services Wallet moduli ilovalarda va veb-saytlarda to‘lovlar uchun Google Pay ni, shuningdek Google Passes (sodiqlik kartalari, bortga chiqish talonlari, chiptalar) ni qo‘llab-quvvatlaydi. SafetyNet (Play Integrity API bilan almashtirilmoqda) — qurilma yaxlitligini tekshirish: root kirish, maxsus proshivka, emulyator. Play Integrity API (2024 yildan tavsiya etiladi) — aniqroq tekshirish: device integrity (yaxlitlik), app integrity (imzo), account integrity (Google hisobi).
// FusedLocationProvider orqali joy so‘rovi
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()
)
}Google Play Services Awareness moduli — joy, vaqt, ob-havo, foydalanuvchi faolligi va ulangan naushniklar haqidagi ma'lumotlarni birlashtiruvchi kombinatsiyalangan API. Awareness API ilovaga kontekstga reaksiya berish imkonini beradi: masalan, foydalanuvchi ishda bo‘lganda jim rejimni yoqish yoki chiqishdan oldin yomg‘ir haqida bildirishnoma ko‘rsatish. API Play Services 16.0.0 dan boshlab mavjud.
Google Play Services ni Android loyihasiga integratsiyalash ilova darajasidagi build.gradle ga bog‘liqliklarni qo‘shish orqali amalga oshiriladi. Google APK hajmini kamaytirish uchun umumiy play-services-all paketi o‘rniga alohida modul bog‘liqliklaridan foydalanishni tavsiya qiladi. Play Services SDK ning minimal versiyasi — 21.0.0 (Android 14 ga mos keladi), lekin aksariyat modullar API 19+ ni qo‘llab-quvvatlaydi.
Integratsiya uchun Google Services Gradle Plugin va Firebase Console dan yuklab olinadigan google-services.json faylini sozlash talab qilinadi. JSON fayli loyiha identifikatorlarini, API kalitlarini va OAuth uchun Client ID ni o‘z ichiga oladi. google-services.json bo‘lmasa, Play Services modullarining aksariyati Google serverlarida avtorizatsiyadan o‘ta olmaydi. Agar loyiha Firebase dan foydalanmasa, AndroidManifest.xml ga API kalitini qo‘shish kifoya.
// build.gradle (loyiha darajasi)
buildscript {
dependencies {
classpath "com.google.gms:google-services:4.4.2"
}
}
// build.gradle (ilova darajasi)
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"
}Muhim nuance: turli Google Play Services modullari bir-birining turli versiyalarini talab qilishi mumkin. Agar bir modul play-services-basement versiyasi 18.0.0, ikkinchisi esa 18.1.0 ni talab qilsa, Gradle ziddiyatni yuqori versiya foydasiga hal qiladi. Barcha modullar uchun yagona versiyadan o‘zgaruvchi orqali foydalanish tavsiya etiladi: ext.playServicesVersion = '21.2.0'. Google Play Services compileSdk versiyasiga ham bog‘liq — 21.0.0 versiyasi uchun compileSdk 34+ talab qilinadi.
Google Play Services bo‘lmagan qurilmalar (Huawei, Honor, ba'zi Xitoy brendlari) GMS tomonidan taqdim etilgan API lardan foydalana olmaydi. Bunday qurilmalar uchun Google Play Services siz ishlaydigan ko‘p platformali kutubxonalarni o‘z ichiga olgan Firebase SDK ni tavsiya qiladi. Firebase Authentication to‘g‘ridan-to‘g‘ri REST API dan, Firebase Realtime Database — WebSocket ulanishidan, Firebase Cloud Messaging — o‘z protokolidan foydalanadi.
Muqobil yondashuv — o‘xshash API larni taqdim etuvchi Huawei Mobile Services (HMS) dan foydalanish: Huawei Maps Kit, Location Kit, Push Kit. Ikkala turdagi qurilmalarni qo‘llab-quvvatlash uchun dasturchilar ishga tushirilganda GMS yoki HMS mavjudligini aniqlaydigan va tegishli SDK ni ulaydigan abstrakt qatlamni amalga oshiradilar. Counterpoint Research (2025) ma'lumotlariga ko‘ra, GMS bo‘lmagan qurilmalarning ulushi jahon Android bozorining taxminan 5% ni tashkil qiladi.
// Qurilmada GMS mavjudligini tekshirish
fun isGmsAvailable(): Boolean {
return try {
GoogleApiAvailability.getInstance()
.isGooglePlayServicesAvailable(context) ==
ConnectionResult.SUCCESS
} catch (e: Exception) {
false
}
}
// GMS/HMS uchun abstrakt qatlam
interface PushService {
fun getToken(): String
}
class GmsPushService : PushService {
override fun getToken() =
FirebaseMessaging.getInstance().token.await()
}GMS bo‘lmagan qurilmalarda ishlaydigan ilovalar uchun Google API laridan foydalanadigan barcha funksiyalarni sinovdan o‘tkazish juda muhim. Play Services xizmat topilmaganda SERVICE_MISSING xatosini qaytaradi. Graceful degradation tavsiya etiladi: agar Google Sign-In mavjud bo‘lmasa, email orqali kirishni taklif qiling; agar Google Maps mavjud bo‘lmasa, Yandex Maps yoki OpenStreetMap bilan WebView ko‘rsating. Huawei AppGallery dunyodagi barcha Android ilovalarining taxminan 15% ini nashr etadi.
Google Play Services mavjudligini tekshirish va barcha mumkin bo‘lgan holatlarni boshqarishning to‘liq namunasi: xizmat mavjud, yangilash talab qilinadi, xizmat o‘chirilgan, xizmat yo‘q. Kod tekshirish uchun GoogleApiAvailability dan va Play Store ga o‘tish bilan standart Google dialogini ko‘rsatish uchun showErrorDialogFragment dan foydalanadi.
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()
}
}Google Play Services mavjudligini faqat birinchi ishga tushirishda emas, balki har bir ilova ishga tushirilganda tekshirish tavsiya etiladi. Foydalanuvchi ilova o‘rnatilgandan so‘ng sozlamalarda Play Services ni o‘chirib qo‘yishi mumkin, bu esa barcha Google API larining ishlamasligiga olib keladi. Kritik funksiyalar uchun (masalan, Google Pay orqali to‘lov) tekshirish majburiy bo‘lishi kerak — Play Services siz ilova to‘lovni amalga oshira olmaydi.
Play Core — bu ilova modullarini boshqarish, ish vaqtida yangilash va qo‘shimcha resurslarni yuklab olish uchun Google Play Services kutubxonasi. Play Core Dynamic Delivery ni — ilova modullarini talab bo‘yicha yetkazib berishni amalga oshirish imkonini beradi: foydalanuvchi asosiy ilovani yuklab oladi, qo‘shimcha funksiyalar (masalan, boshqaruv moduli yoki Premium kontent) esa foydalanuvchi tegishli ekranni birinchi marta ochgandagina yuklanadi.
Google Play Services ning Play Core orqali modulli yetkazib berilishi ilovaning dastlabki o‘rnatish hajmini 30-50% ga kamaytiradi. Bu sekin internetli bozorlar uchun ayniqsa muhim — Google Play Console ma'lumotlariga ko‘ra, har 10 MB o‘rnatish konversiyasini 1% ga kamaytiradi. Play Core SDK Android 5.0 (API 21) va Google Play Services 21.0.0+ ni talab qiladi. Muhim: modul yuklab olingandan so‘ng uni o‘chirib bo‘lmaydi, faqat butun ilovani yangilash mumkin.
// Play Core orqali talab bo‘yicha modulni yuklash
val manager = SplitInstallManagerFactory.create(context)
val request = SplitInstallRequest
.Builder()
.addModule("premium")
.build()
manager.startInstall(request)
.addOnSuccessListener {
Log.d("Split", "Premium modul yuklandi")
}Play Core ga migratsiya ilova arxitekturasini o‘zgartirishni talab qiladi: funksionallik Android Studio da on-demand modullariga bo‘linadi, Gradle esa har bir modulni alohida APK sifatida quradi. Google Play Store keyin APK Set (Android App Bundle) yaratadi va foydalanuvchiga faqat asosiy APK ni yetkazib beradi. Play Core shuningdek in-app updates ni qo‘llab-quvvatlaydi — foydalanuvchi Play Store ga kirmasdan ilovani ichkaridan yangilashi mumkin. 2026 yilga kelib Google Play dagi ilovalarning taxminan 70% Android App Bundle va Play Core dan foydalanadi.
Ko‘p beriladigan savollar
Agar Google Play Services o‘chirilsa, barcha Google xizmatlari ishlashdan to‘xtaydi: Google Maps, Google Sign-In, FCM push bildirishnomalari, Google Pay, Play Integrity. Ushbu API lardan foydalanadigan ilovalar xato ko‘rsatadi yoki ishlamay qoladi. Aksariyat qurilmalarda Play Services standart vositalar bilan o‘chirilmaydi — faqat sozlamalarda o‘chirib qo‘yilishi mumkin.
Google Play Services Play Store orqali avtomatik yangilanadi. Qo‘lda yangilash uchun: Play Store ni oching → Mening ilovalarim va o‘yinlarim → Google Play Services ni toping → Yangilang. Agar yangilanish mavjud bo‘lmasa, eng so‘nggi versiyaning APK sini APKMirror dan yuklab oling (faqat tajribali foydalanuvchilar uchun). Avtomatik yangilanish odatda chiqarilgandan so‘ng 2 hafta ichida amalga oshadi.
Minimal qo‘llab-quvvatlanadigan versiya — Android 4.4 KitKat (API 19). Biroq ba'zi modullar (masalan, Credential Manager) Android 6.0 (API 23) yoki undan yuqori versiyani talab qiladi. Zamonaviy dasturlash uchun Google Android 14 (API 34) ni maqsad qilishni va Play Services versiyasi 21.0.0+ dan foydalanishni tavsiya qiladi. Android 4.4 dagi eskirgan qurilmalar faqat tanqidiy Play Services yangilanishlarini oladi.
Ha, Firebase SDK GMS bo‘lmagan qurilmalarda Google Play Services siz ishlashi mumkin. Firebase Authentication, Realtime Database, Firestore, Cloud Functions va Hosting Play Services talab qilmaydi. Firebase Cloud Messaging (FCM) GMS o‘rniga to‘g‘ridan-to‘g‘ri HTTP protokolidan foydalanishi mumkin. Biroq Firebase Crashlytics va Performance Monitoring ma'lumot to‘plash uchun Play Services ni talab qiladi.
Google Play Services ning asosiy APK si tizim bo‘limida taxminan 80-120 MB joy egallaydi. Qo‘shimcha modullar (xaritalar, auth, location) talab bo‘yicha yuklanadi va 10-50 MB qo‘shishi mumkin. Taqqoslash uchun: iOS da Apple Push Notification Service taxminan 5 MB joy egallaydi. Hajmiga qaramay, Play Services foydalanuvchi uchun mavjud xotiraga ta'sir qilmaydi — ular tizim bo‘limida joylashgan.
Xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.