Google Play Services — Android-də Google sistem xidmətlərinin bir qatıdır, bütün Google tətbiqlərinin və API-lərinin işini təmin edir: Google Maps-dən Firebase və Google Sign-In-ə qədər. Play Services ayrıca APK paketi kimi işləyir, Android proqram təminatı yeniləmələrindən asılı olmayaraq Google Play Store vasitəsilə avtomatik yenilənir. Android Developers, 2025 məlumatına görə, Google Play Services bütün aktiv Android cihazlarının 99.8%-də quraşdırılıb və 50-dən çox ayrıca modulu əhatə edir.
Əsas
Google Play Services — Android əməliyyat sistemi üzərində işləyən Google-un mülkiyyət xidmətlər qatıdır. Yalnız əsas kitabxanaları özündə birləşdirən AOSP-dan (Android Open Source Project) fərqli olaraq, Play Services Google ekosistemi ilə inteqrasiya üçün API-lər təqdim edir: xəritələr, geolokasiya, autentifikasiya, push bildirişləri, reklam və ödənişlər. Play Services yüksək imtiyazlara malik sistem tətbiqi kimi quraşdırılır və adi tətbiqlər üçün əlçatmaz olan API-lərə çıxış əldə edir.
Google Play Services-in standart Android kitabxanalarından əsas fərqi — Play Store vasitəsilə yenilənmə imkanıdır. Google Maps SDK və ya Auth API-nin yeni versiyasını buraxırsa, istifadəçi yeniləməni istehsalçının OTA yeniləməsini gözləmədən Play Services vasitəsilə alır. Bu, Android-in parçalanma problemini həll edir — Statista (2025) məlumatına görə, Android cihazlarının təxminən 40%-i 3 ildən köhnə ƏS versiyalarında işləyir, lakin Play Services 85% cihazda ən son versiyaya yenilənib.
Google Play Services Android Open Source Project-in bir hissəsi deyil və Google lisenziyası olmayan cihazlarda (məsələn, 2019-cu ildən sonra Huawei) mövcud deyil. GMS olmayan cihazlarda işləyən tətbiqlər üçün Google çoxplatformalı dəstəyi olan Firebase SDK-dan istifadə etməyi və ya alternativ həllərə (Huawei Mobile Services) keçməyi tövsiyə edir.
Google Play Services-in arxitekturası müstəqil modullar (APK paketləri) dəsti kimi qurulub, hər biri öz funksionallığına cavabdehdir. Əsas APK (com.google.android.gms) xidmətlərin nüvəsini və tələb üzrə yüklənən təxminən 50 əlavə modulu ehtiva edir. İstifadəçi prosesi Google Play Services prosesi adlanır və yüksək prioritetlə fonda işləyir.
Google Play Services-in hər modulunun öz versiyası və API-si var. Tərtibatçı yalnız zəruri modulları build.gradle vasitəsilə birləşdirir, bu da tətbiqin ölçüsünü azaldır. Məsələn, Google Sign-In üçün com.google.android.gms:play-services-auth, Google Maps üçün — play-services-maps lazımdır. Google Play Services modullar arasında asılılıqları avtomatik həll edir və çatışmayan komponentləri yükləyir.
| Komponent | Gradle paketi | Funksionallıq |
|---|---|---|
| Auth | play-services-auth | Google Sign-In, Credential Manager, ID Token |
| Maps | play-services-maps | Google Maps SDK xəritə renderinqi, 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, ödəniş API |
| SafetyNet | play-services-safetynet | Cihaz yoxlaması, reCAPTCHA, attestasiya |
Qarşılıqlı əlaqə tətbiq və Play Services arasında AIDL (Android Interface Definition Language) vasitəsilə baş verir. Tətbiq SDK metodlarını çağırır, SDK Google Play Services prosesinə IPC sorğuları göndərir, o da real işi yerinə yetirir (Google serverlərinə şəbəkə sorğuları, GPS ilə iş, kriptoqrafiya). Play Services prosesi tətbiqdən təcrid olunub — o çökərsə, tətbiq işini davam etdirir.
Google Play Services Google Play Store vasitəsilə avtomatik yenilənir — istifadəçi təsdiq etmədən fonda yeni versiya alır. Yeniləmələr mərhələli şəkildə (staged rollout) yayılır: əvvəlcə cihazların 1%-nə, sonra 10%, 50% və 100%-nə. Yeni versiyada kritik səhv aşkar edilərsə, Google 24 saat ərzində yeniləməni sabit versiyaya qaytara bilər.
Google Play Services versiyası iki nömrə ilə kodlaşdırılır: APK versiyası (məsələn, 25.15.32) və SDK versiyası (məsələn, 12.8.0). Tərtibatçı üçün GoogleApiAvailability vasitəsilə cihazda Play Services versiyasını yoxlamaq vacibdir — istifadəçi avtomatik yeniləməni söndürübsə və ya xüsusi proqram təminatı istifadə edirsə, versiya köhnəlmiş ola bilər. Google məlumatına görə, aktiv cihazlarda Play Services-in orta versiyası 6 aydan köhnə deyil.
// Cihazda Google Play Services versiyasının yoxlanılması
val availability = GoogleApiAvailability.getInstance()
val resultCode = availability.isGooglePlayServicesAvailable(context)
when (resultCode) {
ConnectionResult.SUCCESS ->
Log.d("GMS", "Google Play Services mövcuddur")
ConnectionResult.SERVICE_MISSING,
ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED -> {
// Yeniləmə dialoqunu göstəririk
availability.showErrorDialogFragment(
activity, resultCode, REQUEST_CODE
)
}
}Versiya problemləri: əgər Google Play Services söndürülübsə (istifadəçi əl ilə parametrlərdə söndürübsə), bütün Google API-ləri işləməyi dayandırır. Tətbiq hər Google API çağırışından əvvəl Play Services-in mövcudluğunu yoxlamalı və istifadəçiyə parametrlərə və ya Play Services-in yüklənməsinə keçid düyməsi ilə başa düşülən mesaj göstərməlidir. Google showErrorDialogFragment vasitəsilə avtomatik Play Store-a aparan səhv dialoqu təqdim edir.
Google Play Services Auth — Google Sign-In, Credential Manager və parollar üçün Smart Lock təqdim edən autentifikasiya modulu. 2024-cü ildən Google bütün autentifikasiya növləri üçün vahid API kimi Credential Manager-i tövsiyə edir. Google Play Services Maps — Google xəritələrinin renderinqi, geokodlaşdırma, Places API və marşrutlar. Location — minimal enerji sərfiyyatı ilə dəqiq yer müəyyən etmək üçün GPS, Wi-Fi və mobil məlumatları birləşdirən Fused Location Provider.
Google Play Services Wallet modulu tətbiqlərdə və veb-saytlarda ödənişlər üçün Google Pay-i, həmçinin Google Passes-i (loyallıq kartları, minik biletləri, biletlər) dəstəkləyir. SafetyNet (Play Integrity API ilə əvəz olunur) — cihaz bütövlüyünün yoxlanılması: root girişi, xüsusi proqram təminatı, emulator. Play Integrity API (2024-cü ildən tövsiyə olunur) — daha dəqiq yoxlama: device integrity (bütövlük), app integrity (imza), account integrity (Google hesabı).
// FusedLocationProvider vasitəsilə yer sorğusu
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 modulu — yer, vaxt, hava, istifadəçi fəaliyyəti və qoşulmuş qulaqlıqlar haqqında məlumatları birləşdirən kombo API. Awareness API tətbiqə kontekstə reaksiya verməyə imkan verir: məsələn, istifadəçi işdə olduqda səssiz rejimi yandırmaq və ya çıxmadan əvvəl yağış barədə bildiriş göstərmək. API Play Services 16.0.0-dan etibarən mövcuddur.
Google Play Services-in Android layihəsinə inteqrasiyası tətbiq səviyyəsinin build.gradle faylına asılılıqların əlavə edilməsi ilə həyata keçirilir. Google APK ölçüsünü azaltmaq üçün ümumi play-services-all paketi əvəzinə ayrıca modul asılılıqlarından istifadə etməyi tövsiyə edir. Play Services SDK-nın minimal versiyası — 21.0.0 (Android 14-ə uyğundur), lakin əksər modullar API 19+-ı dəstəkləyir.
İnteqrasiya üçün Google Services Gradle Plugin və Firebase Console-dan yüklənən google-services.json faylı konfiqurasiya edilməlidir. JSON faylı layihə identifikatorlarını, API açarlarını və OAuth üçün Client ID-ni ehtiva edir. google-services.json olmadan Play Services modullarının əksəriyyəti Google serverlərində autorizasiyadan keçə bilməz. Layihə Firebase-dən istifadə etmirsə, AndroidManifest.xml-ə API açarı əlavə etmək kifayətdir.
// build.gradle (layihə səviyyəsi)
buildscript {
dependencies {
classpath "com.google.gms:google-services:4.4.2"
}
}
// build.gradle (tətbiq səviyyəsi)
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"
}Vacib nüans: müxtəlif Google Play Services modulları bir-birinin müxtəlif versiyalarını tələb edə bilər. Bir modul play-services-basement versiyası 18.0.0, digəri isə 18.1.0 tələb edirsə, Gradle münaqişəni daha yüksək versiyanın xeyrinə həll edir. Bütün modullar üçün vahid versiyadan dəyişən vasitəsilə istifadə etmək tövsiyə olunur: ext.playServicesVersion = '21.2.0'. Google Play Services həmçinin compileSdk versiyasından asılıdır — 21.0.0 versiyası üçün compileSdk 34+ tələb olunur.
Google Play Services olmayan cihazlar (Huawei, Honor, bəzi Çin markaları) GMS tərəfindən təqdim edilən API-lərdən istifadə edə bilməz. Belə cihazlar üçün Google Play Services olmadan işləyən çoxplatformalı kitabxanaları özündə birləşdirən Firebase SDK-nı tövsiyə edir. Firebase Authentication birbaşa REST API, Firebase Realtime Database — WebSocket bağlantısı, Firebase Cloud Messaging — öz protokolundan istifadə edir.
Alternativ yanaşma — oxşar API-lər təqdim edən Huawei Mobile Services (HMS) istifadəsidir: Huawei Maps Kit, Location Kit, Push Kit. Hər iki cihaz növünü dəstəkləmək üçün tərtibatçılar işə salınarkən GMS və ya HMS-nin mövcudluğunu müəyyən edən və müvafiq SDK-nı birləşdirən abstrakt qat tətbiq edirlər. Counterpoint Research (2025) məlumatına görə, GMS olmayan cihazların payı dünya Android bazarının təxminən 5%-ni təşkil edir.
// Cihazda GMS-nin mövcudluğunun yoxlanılması
fun isGmsAvailable(): Boolean {
return try {
GoogleApiAvailability.getInstance()
.isGooglePlayServicesAvailable(context) ==
ConnectionResult.SUCCESS
} catch (e: Exception) {
false
}
}
// GMS/HMS üçün abstrakt qat
interface PushService {
fun getToken(): String
}
class GmsPushService : PushService {
override fun getToken() =
FirebaseMessaging.getInstance().token.await()
}GMS olmayan cihazlarda işləyən tətbiqlər üçün Google API-lərindən istifadə edən bütün funksiyaları test etmək kritikdir. Play Services xidmət tapılmadıqda SERVICE_MISSING xətası qaytarır. Zərif deqradasiya (graceful degradation) tövsiyə olunur: Google Sign-In mövcud deyilsə, email ilə daxil olmağı təklif edin; Google Maps mövcud deyilsə, Yandex Maps və ya OpenStreetMap ilə WebView göstərin. Huawei AppGallery dünyada bütün Android tətbiqlərinin təxminən 15%-ni nəşr edir.
Google Play Services-in mövcudluğunun yoxlanılması və bütün mümkün vəziyyətlərin idarə edilməsinin tam nümunəsi: xidmət mövcuddur, yeniləmə tələb olunur, xidmət söndürülüb, xidmət yoxdur. Kod yoxlama üçün GoogleApiAvailability-dən və Play Store-a keçidlə standart Google dialoqunu göstərmək üçün showErrorDialogFragment-dən istifadə edir.
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-in mövcudluğunu yalnız ilk işə salınmada deyil, hər tətbiq işə salındıqda yoxlamaq tövsiyə olunur. İstifadəçi tətbiq quraşdırıldıqdan sonra parametrlərdə Play Services-i söndürə bilər, bu da bütün Google API-lərinin işləməməsinə səbəb olar. Kritik funksiyalar üçün (məsələn, Google Pay ilə ödəniş) yoxlama məcburi olmalıdır — Play Services olmadan tətbiq ödənişi emal edə bilməz.
Play Core — tətbiq modullarını idarə etmək, icra zamanı yeniləmələr və əlavə resursları yükləmək üçün Google Play Services kitabxanasıdır. Play Core Dynamic Delivery-ni — tələb üzrə tətbiq modullarının çatdırılmasını həyata keçirməyə imkan verir: istifadəçi əsas tətbiqi yükləyir, əlavə funksiyalar (məsələn, administrasiya modulu və ya Premium məzmun) yalnız istifadəçi müvafiq ekranı ilk dəfə açdıqda yüklənir.
Google Play Services-in Play Core vasitəsilə modul çatdırılması tətbiqin ilkin quraşdırma ölçüsünü 30-50% azaldır. Bu, yavaş interneti olan bazarlar üçün xüsusilə vacibdir — Google Play Console məlumatına görə, hər 10 MB quraşdırma konversiyasını 1% azaldır. Play Core SDK Android 5.0 (API 21) və Google Play Services 21.0.0+ tələb edir. Vacib: modul yükləndikdən sonra onu silmək mümkün deyil, yalnız bütün tətbiqi yeniləmək olar.
// Play Core vasitəsilə tələb üzrə modulun yüklənməsi
val manager = SplitInstallManagerFactory.create(context)
val request = SplitInstallRequest
.Builder()
.addModule("premium")
.build()
manager.startInstall(request)
.addOnSuccessListener {
Log.d("Split", "Premium modul yükləndi")
}Play Core-a miqrasiya tətbiq arxitekturasının dəyişdirilməsini tələb edir: funksionallıq Android Studio-da on-demand modullarına bölünür, Gradle isə hər modulu ayrıca APK kimi qurur. Google Play Store daha sonra APK Set (Android App Bundle) yaradır və istifadəçiyə yalnız əsas APK-nı çatdırır. Play Core həmçinin in-app updates-i dəstəkləyir — istifadəçi Play Store-a keçmədən tətbiqi daxildən yeniləyə bilər. 2026-cı ilə qədər Google Play-də tətbiqlərin təxminən 70%-i Android App Bundle və Play Core-dan istifadə edir.
Tez-tez verilən suallar
Google Play Services silinərsə, bütün Google xidmətləri işləməyi dayandıracaq: Google Maps, Google Sign-In, FCM push bildirişləri, Google Pay, Play Integrity. Bu API-lərdən istifadə edən tətbiqlər xəta göstərəcək və ya çökəcək. Əksər cihazlarda Play Services standart vasitələrlə silinə bilməz — yalnız parametrlərdə söndürülə bilər.
Google Play Services Play Store vasitəsilə avtomatik yenilənir. Əl ilə yeniləmək üçün: Play Store-u açın → Tətbiqlərim və oyunlarım → Google Play Services tapın → Yeniləyin. Yeniləmə mövcud deyilsə, ən son versiyanın APK-sını APKMirror-dan yükləyin (yalnız təcrübəli istifadəçilər üçün). Avtomatik yeniləmə adətən buraxılışdan sonra 2 həftə ərzində baş verir.
Minimal dəstəklənən versiya — Android 4.4 KitKat (API 19)-dur. Lakin bəzi modullar (məsələn, Credential Manager) Android 6.0 (API 23) və ya daha yüksək versiya tələb edir. Müasir inkişaf üçün Google Android 14 (API 34) hədəfləməyi və Play Services versiyası 21.0.0+ istifadə etməyi tövsiyə edir. Android 4.4-də köhnəlmiş cihazlar yalnız kritik Play Services yeniləmələrini alır.
Bəli, Firebase SDK GMS olmayan cihazlarda Google Play Services olmadan işləyə bilər. Firebase Authentication, Realtime Database, Firestore, Cloud Functions və Hosting Play Services tələb etmir. Firebase Cloud Messaging (FCM) GMS əvəzinə birbaşa HTTP protokolundan istifadə edə bilər. Lakin Firebase Crashlytics və Performance Monitoring məlumat toplamaq üçün Play Services tələb edir.
Google Play Services-in əsas APK-sı sistem bölməsində təxminən 80-120 MB yer tutur. Əlavə modullar (xəritələr, auth, location) tələb üzrə yüklənir və 10-50 MB əlavə edə bilər. Müqayisə üçün: iOS-da Apple Push Notification Service təxminən 5 MB yer tutur. Ölçüsünə baxmayaraq, Play Services istifadəçi üçün mövcud yaddaşa təsir etmir — onlar sistem bölməsində yerləşir.
Nəticə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun