Uygulamanızı API 35 ve 36 için Google Play gereksinimlerine nasıl hazırlarsınız?
Kısa cevap: Ağustos 2026'ya kadar targetSdk sürümünü en az 35'e (ve Ocak 2027'ye kadar 36'ya) yükseltin, foreground servislerini, izinleri, WindowInsets işleme mantığını uyarlayın, TLS'yi PQC sağlayıcısına taşıyın ve AVD/API cihazlarında ile Play Console kapalı testinde test edin.
API 35 ve 36'da neler değişti?
API 35 (Android 16, Ekim 2025)
- Post-Kuantum kriptografi: Temel HPKE desteği — TLS'nin HybridPqCryptoProvider sağlayıcısına taşınması önerilir.
- Kısmi ekran paylaşımı: MediaProjection artık ayrı uygulamaları sunabilir; FLAG_PARTIAL_SCREEN_SHARING bayrağını dikkate alın.
- Sıkı foreground service türleri: Manifest dosyasında android:foregroundServiceType özelliğini açıkça belirtin.
- AD_ID ve izleme denetiminin güçlendirilmesi: Erişim yalnızca açık onayla mümkün.
API 36 (Android 17, 2026)
- Edge-to-Edge UI: Sistem içeriği panellerin altına yayıyor — WindowInsets'i işleyin.
- Cihaz içi AI: Play Services bağımlılığı olmadan Gemini Nano ve ML API entegrasyonu.
- Dinamik izin kontrolleri: Yeni gruplar ve dinamik doğrulama (örneğin, NEVER_FOR_LOCATION).
- Enerji verimliliği: Pil durumuna bağlı olarak görevlerin dinamik kısıtlanması (throttling).
Google Play süreleri: Yeni uygulamalar ve güncellemeler Ağustos 2026'dan itibaren targetSdk >=35 olmak zorunda; API 36 için son tarih Ocak 2027. Uyumsuzluk yayın reddine yol açabilir.
Hazırlık için somut adım adım plan (uygulama sırası)
- Ortamı güncelleyin
- Android Studio'da en az Koala+ sürümünü kullanın.
- Proje build.gradle ve modüllerde:
compileSdk 36
targetSdk 36 // başlangıç aşamasında targetSdk 35 olabilir, ancak son tarih için 36'yı planlayın
- Manifest denetimi
- Foreground service türlerini belirtin:
<service android:name=".MyForegroundService"
android:foregroundServiceType="camera|mediaPlayback" />
- Yeni açıkça gereken izinleri ekleyin, örneğin:
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA" />
- Kullanımdan kaldırılmış QUERY_ALL_PACKAGES izinini kaldırın ve PackageManager API'sini seçici olarak kullanın.
- Ağ ve kriptografi (PQC)
- OkHttp/HTTP istemcilerini PQC sağlayıcılarını destekleyen sürümlere güncelleyin.
- Sağlayıcı başlatma (API sembolik örnek):
PqProvider.install()
- TLS bağlantılarını test edin, sunucularla uyumluluğu kontrol edin.
- UI ve Insets
- Edge-to-edge desteği:
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
- Activity içinde WindowInsetsCompat kullanın ve boşlukları doğru şekilde ayarlayın.
-
İzinler ve çalışma zamanı davranışı
- İstekleri ActivityResultContracts.RequestPermission üzerinden gözden geçirin.
- Dinamik doğrulamalı grupları kontrol edin (örneğin, arka plan konumları).
-
Test etme
- API 35 ve 36 içeren AVD hazırlayın, gerçek cihazlarda (Pixel 9+) test edin.
- ./gradlew lint komutunu çalıştırın -> sorunların %80'ini düzeltin.
- Play Console'da kapalı test, Crashlytics ve ANR izleme.
Lint ve manifest birleştirme raporuyla başlayın — bunlar targetSdk ve yeni hizmet gereksinimleriyle ilgili uyumsuzlukların çoğunu ortaya çıkaracaktır.
Sık yapılan hatalar
- Belirtilmemiş foregroundServiceType — servisler engellenir veya uygulama çöker.
- Play Console'da gerekçe göstermeden ACCESS_BACKGROUND_LOCATION istenmesi — reddedilme.
- WindowInsets'in yanlış işlenmesi — UI sistem panellerinin altında "kesilir".
- Gereksiz yere QUERY_ALL_PACKAGES kullanılması — moderasyon sırasında reddedilme riskini artırır.
- Cihaz içi ML için test eksikliği ve düşük performanslı cihazlarda performans düşüşü.
SSS
-
targetSdk'yi hemen 36'ya çekmek gerekir mi?
Aşamalı yaklaşım daha iyidir: Ağustos 2026'ya kadar 35, Ocak 2027'ye kadar 36. Bu arada compileSdk=36'yı şimdiden ayarlayın. -
Tüm uygulamalar için PQC geçişi zorunlu mu?
Google güvenlik gereksinimlerini sıkılaştırıyor; hassas verileri olan uygulamalar için zorunludur. Sunucu ve istemci tarafı geçişini planlayın. -
Foreground servislerini hızlıca nasıl kontrol edebilirim?
Cihazda adb shell cmd activity services komutunu çalıştırın ve servis başlatma loglarını kontrol edin; manifestte türü belirtin ve durdurma/yeniden başlatmayı test edin. -
Hazırlık ne kadar sürer?
Orta ölçekli bir uygulama için 1–2 sprint; karmaşık entegrasyonlar (PQC, cihaz içi ML) için ek sprintler gerekir.
Ekibiniz için görev formatında (issue listesi) bir kontrol listesine ihtiyacınız varsa — build.gradle ve AndroidManifest.xml dosyalarını gönderin, spesifik düzeltme planını hazırlayayım.