Uygulamanızı API 35 ve 36 için Google Play gereksinimlerine nasıl hazırlarsınız?

Kerem Aydın·6 Temmuz 2026·⏱3 dk

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ı)

  1. 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
  1. 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.
  1. 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.
  1. 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.
  1. İ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ı).
  2. 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.