Google Play'in hedef API düzeyi şartını karşılayın

Yüklediğiniz APK'nın, Google Play'in hedef API düzeyi gereksinimlerini karşılaması gerekir.

31 Ağustos 2024'ten itibaren:

  • Yeni uygulamaların ve uygulama güncellemelerinin, Google Play'e gönderilebilmesi için Android 14'ü (API düzeyi 34) veya sonraki sürümleri hedeflemesi gerekir (Wear OS ve Android TV uygulamaları ise Android 13'ü (API düzeyi 33) veya sonraki sürümleri hedeflemelidir).
  • Mevcut uygulamaların, uygulamanızın hedef API düzeyinden daha yüksek Android OS sürümlerinin yüklü olduğu cihazların yeni kullanıcıları tarafından her zamanki gibi bulunabilmesi için Android 13 (API düzeyi 33) veya sonraki sürümleri hedeflemesi gerekir. Android 12 (API düzeyi 31) veya önceki sürümleri (Wear OS için Android 10 (API düzeyi 29) veya önceki sürümler, Android TV için ise Android 11 (API düzeyi 30) veya önceki sürümler) hedefleyen uygulamalar yalnızca uygulamanızın hedef API düzeyiyle aynı veya daha düşük Android OS çalıştıran cihazlarda kullanılabilir.

Uygulamanızı güncellemek için daha fazla zamana ihtiyacınız varsa 1 Kasım 2024'e kadar uzatılacak şekilde ek süre talep edebilirsiniz. Play Console'da uygulamanızın uzantı formlarına bu yılın ilerleyen dönemlerinde erişebilirsiniz.

Bu şartlarla ilgili istisnalar şunlardır:

  • Belirli bir kuruluştaki kullanıcılarla sınırlı olan ve yalnızca şirket içi dağıtım için tasarlanmış kalıcı olarak özel uygulamalar.
  • Android Automotive OS'i hedefleyen uygulamalar veya Android Automotive OS'i hedefleyen APK'larla birlikte sunulan uygulamalar.

Neden daha yeni SDK'ları hedeflemelisiniz?

Her yeni Android sürümü, güvenlik ve performans iyileştirmeleri sağlamanın yanı sıra Android kullanıcı deneyimini geliştiren değişiklikler sunar. Bu değişikliklerden bazıları yalnızca targetSdkVersion manifest özelliği (hedef API düzeyi olarak da bilinir) aracılığıyla desteği açıkça beyan eden uygulamalar için geçerlidir.

Uygulamanızın yeni bir API düzeyini hedeflemek üzere yapılandırılması, uygulamanızın daha eski Android sürümlerinde çalışmaya devam etmesine olanak tanırken kullanıcıların bu iyileştirmelerden yararlanmasını sağlar. Yeni bir API seviyesini hedeflemek, uygulamanızın platformun en son özelliklerinden yararlanmasına da olanak tanır. Bu sayede kullanıcılarınızı memnun edebilirsiniz. Ayrıca, Android 10 (API düzeyi 29) itibarıyla, uygulama Android 5.1 (API düzeyi 22) veya daha eski bir sürümü hedefliyorsa kullanıcılar uygulamayı ilk kez başlattığında uyarı görürler.

Bu dokümanda, hedef API düzeyinizi Google Play şartını karşılayacak şekilde güncellerken bilmeniz gereken önemli noktalar vurgulanmıştır. Geçiş yaptığınız sürüme bağlı olarak aşağıdaki bölümlerdeki talimatları inceleyin.

Android 12 ve sonraki sürümlerden (API düzeyi 31) daha yeni bir sürüme geçme

Uygulamanızı Android'in daha yeni bir sürümünü hedefleyecek şekilde güncellemek için ilgili davranış değişiklikleri listesini uygulayın:

Android 11 (API düzeyi 30) sürümünden Android 12 (API düzeyi 31) sürümüne geçiş

Güvenlik ve İzinler

Kullanıcı Deneyimi

  • Özel bildirimler: Özel içerik görünümleri içeren bildirimler artık bildirim alanının tamamını kullanmaz. Bunun yerine sistem standart bir şablon uygular. Bu şablon, özel bildirimlerin tüm durumlarda diğer bildirimlerle aynı süslemeye sahip olmasını sağlar. Bu davranış, Notification.DecoratedCustomViewStyle değerinin davranışıyla neredeyse aynıdır.
  • Android App Links doğrulama değişiklikleri: Android App Link doğrulamasını kullanırken intent filtrelerinizin BROWSABLE kategorisini içerdiğinden ve HTTPS şemasını desteklediğinden emin olun.

Performans

  • Ön plan hizmeti başlatma kısıtlamaları: Android 12 veya sonraki sürümleri hedeflemek için uygulamanız, birkaç özel durum hariç arka planda çalışırken ön plan hizmetlerini başlatamaz. Bir uygulama arka planda çalışırken ön plan hizmeti başlatmaya çalışırsa istisna oluşur (birkaç özel durum hariç).

    Uygulamanız arka planda çalışırken hızlı çalışma planlamak ve başlatmak için WorkManager'ı kullanabilirsiniz. Kullanıcının istediği zamana duyarlı işlemleri tamamlamak için tam alarm içinde ön plan hizmetlerini başlatın.

  • Bildirim trambolin kısıtlamaları: Kullanıcılar bildirimlere dokunduğunda bazı uygulamalar, kullanıcının gördüğü ve etkileşimde bulunduğu etkinliği başlatan bir uygulama bileşeni başlatarak yanıt verir. Bu uygulama bileşeni, bildirim trambolini olarak bilinir.

    Uygulamalar, bildirim trampolü olarak kullanılan hizmetlerden veya yayın alıcılarından etkinlik başlatmamalıdır. Kullanıcı bir bildirime veya bildirimdeki işlem düğmesine dokunduktan sonra uygulamanız, bir hizmet veya yayın alıcısının içinde startActivity() çağrısı yapamaz.

Android 12'yi (API düzeyi 31) hedefleyen uygulamaları etkileyen değişikliklerin tamamını görüntüleyin.

Android 11'den (API düzeyi 30) önceki bir sürümden veri taşıma

Verileri taşıyacağınız Android sürümünü seçin:

Android 5'e (API düzeyi 21) geçiş

Uygulamanızın, aşağıdaki sürümlerde kullanıma sunulan değişiklikleri dikkate aldığından emin olmak için aşağıdaki sürümlerin her biri için ilgili Davranış Değişiklikleri sayfasına bakın:

Bir sonraki bölümde bulunan talimatları izleyerek devam edin.

Android 6'ya (API düzeyi 23) taşıma

Aşağıdaki noktalar, platformun Android 6.0 ve sonraki sürümlerini hedefleyen uygulamalar için geçerlidir:

  • Çalışma Zamanı İzinleri

    • Tehlikeli izinler sadece çalışma zamanında verilir. Kullanıcı arayüzü akışlarınız bu izinleri verme olanağı sağlamalıdır.

    • Mümkün olduğunda, uygulamanızın izin isteklerinin reddedilmesini yönetmeye hazır olduğundan emin olun. Örneğin, bir kullanıcı cihazın GPS'sine erişim isteğini reddederse uygulamanızın devam etmek için başka bir yolu olduğundan emin olun.

Android 6.0 (API düzeyi 23) sürümünde kullanıma sunulan değişikliklerin kapsamlı bir listesi için platformun ilgili sürümünün Davranış Değişiklikleri sayfasına bakın.

Bir sonraki bölümde bulunan talimatları izleyerek devam edin.

Android 7'ye (API düzeyi 24) taşıma

Aşağıdaki hususlar, platformun Android 7.0 ve sonraki sürümlerini hedefleyen uygulamalar için geçerlidir:

  • Doz ve Uygulamayı Beklemeye Alma

    Çeşitli platform sürümlerinde başlatılan artımlı değişiklikleri kapsayan Doz ve Uygulamayı Beklemeye Alma için Optimizasyon bölümünde açıklanan davranışlara göre tasarım yapın.

    Bir cihaz Doz ve Uygulamayı Bekleme Modu'ndayken sistem aşağıdaki şekilde davranır:

    • Ağ erişimini kısıtlar
    • Alarmları, senkronizasyonları ve işleri erteler
    • GPS ve kablosuz ağ taramalarını kısıtlar
    • Normal öncelikli Firebase Cloud Messaging mesajlarını kısıtlar.
  • İzin Değişiklikleri

    • Sistem, uygulamaya özel dizinlere erişimi kısıtlar.
    • Uygulamanızın dışında bir file:// URI'si göstermek FileUriExposedException'yi tetikler. Uygulamanızın dışında dosya paylaşmanız gerekiyorsa FileProvider
  • Sistem, NDK dışı kitaplıklara bağlantı oluşturmayı yasaklar.

Android 7.0'da (API düzeyi 24) kullanıma sunulan değişikliklerin kapsamlı bir listesi için platformun ilgili sürümünün Davranış Değişiklikleri sayfasına bakın.

Bir sonraki bölümde bulunan talimatları izleyerek devam edin.

Android 8'e (API düzeyi 26) geçiş

Aşağıdaki hususlar, platformun Android 8.0 ve sonraki sürümlerini hedefleyen uygulamalar için geçerlidir:

Android 8.0 (API düzeyi 26) sürümünde kullanıma sunulan değişikliklerin kapsamlı bir listesi için platformun ilgili sürümünün Davranış Değişiklikleri sayfasına bakın.

Android 8 (API 26)'den Android 9'a (API 28) taşıma

Android 9.0'da (API seviyesi 28) yapılan değişikliklerin kapsamlı listesi için davranış değişikliklerine bakın.

Android 9 (API düzeyi 28) sürümünden Android 10 (API düzeyi 29) sürümüne geçiş

Android 10'dan (API düzeyi 29) Android 11'e (API düzeyi 30) geçiş

Android 11'de (API düzeyi 30) başlatılan değişikliklerin kapsamlı bir listesi için Davranış Değişiklikleri sayfasına bakın.

Önceki bölümdeki talimatları uygulayarak API 31'e güncellemeye devam edin.

Uygulamalarınızı modernize edin

Uygulamalarınız için hedef API seviyesini güncellediğinizde, uygulamalarınızı modernize ederek kullanıcılarınızı memnun etmek için en son platform özelliklerini kullanmayı düşünün.

  • Kameradan en iyi şekilde yararlanmak için Beta sürümündeki CameraX'i kullanabilirsiniz.
  • En iyi uygulamaları takip etmenize, ortak metin kodları yazmanıza gerek bırakmanıza ve önem verdiğiniz koda odaklanabilmeniz için karmaşık görevleri basitleştirmenize yardımcı olması amacıyla Jetpack bileşenlerini kullanın.
  • Daha iyi uygulamaları daha hızlı ve daha az kodla yazmak için Kotlin'i kullanın.
  • Gizlilik şartlarına ve en iyi uygulamalarına uyduğunuzdan emin olun.
  • Uygulamalarınıza koyu tema desteği ekleyin.
  • Uygulamalarınıza hareketle gezinme desteği ekleyin.
  • Uygulamanızı Google Cloud Messaging'den (GCM) yeni Firebase Cloud Messaging sürümüne taşıyın.
  • Gelişmiş pencere yönetiminden yararlanın.

SDK'larınızı ve kitaplıklarınızı kontrol edip güncelleme

Üçüncü taraf SDK bağımlılarınızın API 31'i desteklediğinden emin olun: Bazı SDK sağlayıcılar bunu manifestlerinde yayınlar; diğerleri için ek inceleme gerekir. API 31'i desteklemeyen bir SDK kullanıyorsanız sorunu çözmek için SDK sağlayıcıyla çalışmaya öncelik verin.

Ayrıca, uygulamanızın veya oyununuzun targetSdkVersion özelliğinin, özel Android platform kitaplıklarına erişimi kısıtlayabileceğini unutmayın. Ayrıntılar için Platform Kitaplıklarına Bağlanan NDK Uygulamaları başlıklı makaleyi inceleyin.

Ayrıca, kullandığınız Android Destek Kitaplığı sürümünde bulunabilecek kısıtlamaları da doğrulamanız gerekir. Her zaman olduğu gibi, Android Destek Kitaplığı'nın ana sürümü ile uygulamanızın compileSdkVersion arasında uyumluluk sağlamanız gerekir.

Destek Kitaplığı'nın büyük sürümünden küçük veya büyük eşit bir targetSdkVersion seçmenizi öneririz. En son uyumluluk özelliklerinden ve hata düzeltmelerinden yararlanmak için yakın zamanda yayınlanmış uyumlu bir Destek Kitaplığı'na güncelleme yapmanızı öneririz.

Uygulamanızı test etme

Uygulamanızın API düzeyini ve özelliklerini uygun şekilde güncelledikten sonra bazı temel kullanım alanlarını test etmeniz gerekir. Aşağıdaki öneriler tam kapsamlı olmamakla birlikte test sürecinize rehberlik etmeyi amaçlamaktadır. Test yaparak aşağıdakilerden emin olmanızı öneririz:

  • Uygulamanızın API 29 için hata veya uyarı olmadan derlendiğinden emin olun.
  • Uygulamanızda, kullanıcının izin isteklerini reddettiği ve kullanıcıdan izin istendiği durumlara yönelik bir strateji uyguluyor. Bunu yapmak için:

    • Uygulamanızın Uygulama Bilgileri ekranına gidin ve her bir izni devre dışı bırakın.
    • Uygulamayı açın ve kilitlenme olmadığından emin olun.
      • Temel kullanım alanı testlerini gerçekleştirin ve gerekli izinlerin yeniden istendiğinden emin olun.
  • Doz'u, hiç hata olmadan beklenen sonuçlarla uyguluyor.

    • adb'yi kullanarak uygulamanız çalışırken test cihazınızı Doze moduna alın.
      • Firebase Cloud Messaging mesajları tetikleyen kullanım durumlarını test edin.
      • Alarmlar veya İşler kullanan kullanım durumlarını test edin.
      • Arka plan hizmetlerine olan bağımlılıkları ortadan kaldırın.
    • Uygulamanızı uygulama bekleme moduna ayarlama
      • Firebase Cloud Messaging mesajları tetikleyen kullanım durumlarını test edin.
      • Alarmlar veya İşler kullanan kullanım durumlarını test edin.
  • Çekilen yeni fotoğrafları / videoları işliyor

    • Uygulamanızın kısıtlanmış ACTION_NEW_PICTURE ve ACTION_NEW_VIDEO yayınlarını doğru şekilde işleyip işlemediğini (yani JobScheduler işlerine taşınıp taşınmadığını) kontrol edin.
    • Bu etkinliklere bağlı kritik kullanım alanlarının çalışmaya devam ettiğinden emin olun.
  • Dosyaları diğer uygulamalarla paylaşma işlemlerini yönetir - Dosya verilerini başka bir uygulamayla (aynı geliştiricinin başka bir uygulaması da dahil) paylaşan tüm kullanım alanlarını test edin

    • İçeriğin diğer uygulamada görünür olup olmadığını ve kilitlenmeleri tetiklemediğini test edin.

Daha fazla bilgi

Aylık iş ortağı bültenimiz de dahil olmak üzere Android ve Google Play'deki önemli güncellemeleri ve duyuruları size gönderebilmemiz için Google Play Console'da e-postaları etkinleştirin.