Temel uygulama kalitesi yönergeleri

yükleme sayısı ve kullanıcı yorumları, etkileşim ve elde tutma açısından uygulamanızın uzun vadeli başarısını doğrudan etkiler.

Kaliteli bir uygulama için sağlam bir temel oluşturmak üzere temel uygulama kalitesi yönergelerini uygulayın.

Yönergelerde, tüm uygulamaların karşılaması gereken minimum kalite tanımlanır.

Uyarlanabilir uygulama kalitesi

Android uygulamaları; kompakt telefonlardan tabletlere, katlanabilir cihazlara, masaüstü bilgisayarlara, bağlı ekranlara, araba bilgi-eğlence sistemlerine, TV'ye ve XR'ye kadar çok çeşitli cihazlarda çalışır. Bölünmüş ekran ve masaüstü pencereli görüntüleme gibi pencereli görüntüleme modları, uygulamaların ekranın yeniden boyutlandırılabilir bölümlerinde çalışmasını sağlar.

Uyarlanabilir uygulama kalitesi yönergelerini (temel uygulama kalitesi yönergeleriyle birlikte) uygulayarak:

  • Tüm form faktörleri ve ekran boyutları için optimize edilmiş uygulamalar oluşturma
  • Uygulamalarınızın Google Play listelerinde ve arama sonuçlarında daha üst sıralarda yer almasını sağlama
  • Daha fazla kullanıcı edinme ve kullanıcıları elde tutma oranını artırma

Kurallar

Aşağıdaki temel yönergeler, temel düzeyde ve yüksek kaliteli bir uygulama oluşturmanıza yardımcı olur.

Kullanıcı deneyimi

Uygulamanız, tutarlı ve sezgisel bir kullanıcı deneyimi için standart Android görsel tasarım ve etkileşim kalıpları sağlamalıdır.

Uygulamanızın kullanıcı arayüzünü oluşturmak için mümkün olduğunda Android platform bileşenleri yerine Materyal Tasarım bileşenlerini kullanın. Material Design, Android sürümlerinde kullanıcı arayüzü tutarlılığıyla birlikte modern bir Android görünümü ve tarzı sunar.

ID Testler Açıklama
Kullanılabilirlik
Kullanılabilirlik:Kullanıcı deneyimi T-Usability:Core,
T-SD-Card
Uygulama, tüm form faktörlerinde tüm uygulama kullanım alanları için tutarlı bir kullanıcı deneyimi sunuyor.
Kullanılabilirlik:Switcher T-Usability:Switcher,
T-SD-Card
Odak başka bir uygulamaya geçtiğinde uygulama arka plana gider. Son Kullanılanlar uygulama değiştiricisinden yeniden etkinleştirildiğinde uygulama ön plana döner.
Kullanılabilirlik:Uyku T-Usability:Sleep,
T-SD-Card
Uygulama ön plandaki uygulama olduğunda cihaz uyku moduna geçtiğinde duraklatılır ve cihaz uyandığında devam ettirilir.
Kullanılabilirlik:Kilit T-Usability:Lock,
T-SD-Card
Uygulama ön plandaki uygulama olduğunda cihaz kilitlendiğinde duraklatılır, cihazın kilidi açıldığında ise devam eder.
Kullanıcı arayüzü
UI:Parity T-UI:Transitions

Ekran yönleri ve katlama durumları, temelde aynı özellikleri ve işlemleri sunar ve işlevsel eşitliği korur.

UI:Fullscreen T-UI:Transitions

Uygulama, her iki yönde de uygulama penceresini doldurur ve cihazı katlama ile açma gibi yapılandırma değişiklikleri nedeniyle sinemaskop efekti uygulanmaz.

Ekran geometrisindeki küçük farklılıkları telafi etmek için kullanılan küçük siyah kenarlar kabul edilebilir.

Kullanıcı arayüzü:Geçişler T-UI:Transitions Uygulama, ekran yönleri arasında ve cihaz katlanıp açılırken hızlı geçişleri, ekran oluşturma sorunları olmadan ve durumu kaybetmeden gerçekleştiriyor.
Görsel kalite
Görsel:Görüntülü Reklam Ağı T-Visual:Display

Uygulama, grafikleri, metinleri, resimleri ve diğer kullanıcı arayüzü öğelerini fark edilebilir bozulma, bulanıklık veya piksellenme olmadan gösteriyor.

  • Uygulama, mümkün olduğunda vektör çekilebilir öğelerini kullanıyor.
  • Uygulama, hedeflenen tüm ekran boyutları ve form faktörleri için yüksek kaliteli grafikler kullanıyor
  • Menülerin, düğmelerin ve diğer kullanıcı arayüzü öğelerinin kenarlarında kenar yumuşatma olmaması
Görsel:Okunabilirlik T-Visual:Readability Uygulama, desteklenen her dil için satır uzunluğunu 45-75 karakterle (boşluklar dahil) sınırlayarak metin ve metin bloklarının okunabilirliğini sağlar.
Görsel:Temalar T-Visual:Themes Uygulamanın içeriği ve uygulama tarafından erişilen tüm web içerikleri hem açık hem de koyu temaları destekler.
Navigasyon
T-Nav:Back Uygulama, standart geri düğmesiyle gezinmeyi destekler ve özel ekran içi geri düğmesi istemleri kullanmaz.
T-Nav:Back Uygulama, geri gitmek ve ana ekrana gitmek için hareketle gezinmeyi destekliyor.
T-Nav:State,
T-Nav:Back

Uygulama, ön plandan ayrılırken kullanıcı veya uygulama durumunu korumanın yanı sıra geri gitme ve diğer durum değişikliklerinden dolayı kazara yaşanan veri kaybını önlüyor.

Uygulama, ön plana döndüğünde korunan durumu ve bekleyen durum bilgisi içeren işlemleri geri yükler. Düzenlenebilir alanlarda, oyun ilerleme durumunda, menülerde, videolarda ve uygulamanın diğer bölümlerinde yapılan değişiklikler buna örnek verilebilir.

  • Uygulama, Son Kullanılanlar uygulama değiştiricisinden devam ettirildiğinde kullanıcıyı uygulamanın en son kullanıldığı duruma geri döndürür.
  • Cihaz uyku (kilitli) durumundan uyandıktan sonra uygulama devam ettirildiğinde kullanıcı, uygulamanın en son kullanıldığı duruma yönlendirilir.
  • Uygulama Ana Sayfa veya Tüm Uygulamalar'dan yeniden başlatıldığında, son kullanımdan bu yana geçen süreye bağlı olarak aşağıdakilerden birini yapmalıdır:
    • Uygulama en son kısa süre önce (dakikalar içinde) kullanıldıysa uygulama durumunu, önceki durumuna olabildiğince yakın olacak şekilde geri yükleyin.
    • Uygulama son kullanımdan sonra daha uzun bir süre geçmişse uygulamayı önceki durumuna olabildiğince yakın bir şekilde geri yüklemeyi veya uygulamayı ana ekranından ya da başka bir varsayılan durumdan başlatmayı deneyin.
Bildirimler
Notify:Info T-Notify:Info

Bildirimler, uygulamanızla ilgili alakalı bilgiler sağlar.

  • Play Store'da kesinlikle yasak olduğu için bildirimleri başka bir ürünün çapraz tanıtımı veya reklamı için kullanmayın.
  • Bildirim kanalları, tek bir kanaldan tüm bildirimleri sunmak yerine en iyi uygulamalara göre tanımlanır.
  • Doğru bildirim önceliğini seçin.
  • Mümkün olduğunda birden fazla bildirimi tek bir bildirim grubunda birleştirin.
  • Gerekli durumlarda bildirimler için zaman aşımları ayarlayın.
  • Bildirimler yalnızca devam eden etkinliklerle (ör. müzik çalma veya telefon görüşmesi) ilgiliyse kalıcı olur. Daha fazla bilgi için İşlevsellik bölümüne bakın.
Bildirim:Mesajlaşma T-Notify:Info

Mesajlaşma uygulamaları, sosyal uygulamalar ve görüşmeler için:

Erişilebilirlik
Erişim:Hedefler T-Access:Targets Dokunma hedefleri en az 48 dp olmalıdır. Materyal Tasarım Düzen ve tipografi yönergelerine bakın.
Access:Contrast T-Access:Contrast

Uygulama metni ve ön plan içeriği, uygulama arka planıyla aşağıdaki kontrast oranlarını korur:

  • Büyük metin ve grafikler için 3:1
  • Küçük metin (18 punto veya metin kalınsa 14 puntodan küçük) için 4.5:1

Renk ve kontrast hakkında daha fazla bilgi edinin.

Erişim:Açıklama T-Access:Description TextView hariç her kullanıcı arayüzü öğesini contentDescription kullanarak açıklayın.

Uygulama işlevi

Uygulamanız aşağıdaki işlevsel davranışları uygulamalıdır.

ID Testler Açıklama
Ses
Ses:Init T-Audio:Init

Kullanıcı ses çalmayı başlattığında uygulama bir saniye içinde aşağıdakilerden birini yapmalıdır:

  • Sesi çalmaya başlama
  • Ses verilerinin hazırlandığını gösteren görsel bir gösterge sağlayın.
Ses:Odak T-Audio:Focus Uygulama, ses çalınmaya başladığında ses odağı isteğinde bulunmalı ve oynatma durduğunda ses odağını bırakmalıdır.
Ses:Kes T-Audio:Interrupt Uygulama, diğer uygulamaların ses odağı isteklerini işlemelidir. Örneğin, başka bir uygulama konuşma sesi çalarken bir uygulama oynatma sesini azaltabilir.
Ses:Arka plan T-Audio:Background Uygulama, arka planda oynatmayı desteklemelidir.
Ses:Bildirim T-Audio:Notification Uygulama arka planda ses oynatırken MediaStyle ile stilize edilmiş bir bildirim oluşturmalıdır.
Ses:Devam ettir T-Audio:Resume Uygulama arka planda çalışırken ses duraklatılmışsa uygulama ön plana döndüğünde ses devam etmelidir veya uygulama, oynatmanın duraklatılmış durumda olduğunu kullanıcıya bildirmelidir.
Video
Video:PIP T-Video:PiP Uygulama video oynatıyorsa pencere içinde pencere oynatmayı desteklemelidir.
Video:Kodlama T-Video:Encoding Uygulama video kodluyorsa bunu HEVC video sıkıştırma standardını kullanarak yapmalıdır.
Paylaşım
Paylaşma:E-Tablo T-Sharing:Sheet Uygulama, içerik paylaşırken Android Sharesheet'i kullanmalıdır. Uygulama, özel çözümler için kullanılamayan hedefler önerebilir.
Arka plan hizmetler
Arka plan:Hizmetler T-Background:Services

Uygulama, arka planda gereksiz yere uzun hizmetler çalıştırmaktan kaçınıyor. Kullanıcının cihazının sorunsuz çalışmasını sağlamak için.

Not: Sistem, arka plan hizmetlerine çeşitli kısıtlamalar uygular.

Aşağıda, arka plan hizmetlerinin kötüye kullanımına ilişkin örnekler verilmiştir:

  • Bildirimler için ağ bağlantısını koruma
  • Bluetooth bağlantısını sürdürme
  • GPS'i açık tutma

Daha fazla bilgi için Arka plan görevlerine genel bakış başlıklı makaleyi inceleyin.

Performans ve kararlılık

Uygulamanız optimum performans, kararlılık, uyumluluk ve yanıt verme özellikleri sunmalıdır.

ID Testler Açıklama
Performans
Performans:Başlangıç T- Performance:Startup Uygulama hızlı yüklenir veya yüklenmesi iki saniyeden uzun sürerse kullanıcıya ekranda geri bildirim (ilerleme göstergesi veya benzer bir işaret) sağlar.
Performans:FPS T-Performance:FPS Uygulama, saniyede en az 60 kare göstermek için her 16 milisaniyede (veya daha kısa sürede) kare oluşturur. Oluşturma sorunlarıyla ilgili yardım için Yavaş oluşturma başlıklı makaleye bakın.
Performans:Katı T-Performance:Strict StrictMode etkinleştirildiğinde (StrictMode test bölümüne bakın), uygulama test edilirken kırmızı yanıp sönmeler (StrictMode'den gelen performans uyarıları) görünmez.
Kararlılık
Kararlılık:ANR T-Stability:ANR Uygulama kilitlenmiyor veya kullanıcı arayüzü iş parçacığını engelleyerek ANR (Android yanıt vermiyor) hatalarına neden olmuyor. Olası kararlılık sorunlarını belirlemek için Google Play lansman öncesi raporunu kullanın. Dağıtımdan sonra Google Play Console'daki Android Vitals sayfasını izleyin.
SDK
SDK:Platform T-SDK:Platform Uygulama, Android platformunun en son herkese açık sürümünde kilitlenmeden veya temel işlevleri ciddi şekilde etkilemeden çalışıyor.
SDK:Hedef T-SDK:En yeni Uygulama, uygulamanın modül build.gradle dosyasında targetSdk değerini ayarlayarak Google Play şartlarına uymak için gereken en yeni Android SDK'sını hedefler.
SDK:Compile T-SDK:En yeni Uygulama, uygulamanın modül build.gradle dosyasında compileSdk değeri ayarlanarak en yeni Android SDK ile oluşturulur.
SDK:3P T-SDK:3P,
T-SDK:Non

Kullanılan tüm Google veya üçüncü taraf SDK'ları güncel olmalıdır. Bu SDK'larda kararlılık, uyumluluk veya güvenlik ile ilgili yapılan tüm iyileştirmeler kullanıcılara zamanında sunulmalıdır.

Google SDK'ları için, varsa Google Play Hizmetleri tarafından desteklenen SDK'ları kullanın. Bu SDK'lar geriye dönük olarak uyumludur, otomatik güncellemeler alır, uygulama paketi boyutunuzu küçültür ve cihazdaki kaynakları verimli bir şekilde kullanır.

SDK:Yok T-SDK:Non Uygulama, SDK olmayan arayüzler kullanmıyor.
SDK:Debug T-SDK:Debug Üretim uygulamasında hata ayıklama kitaplıkları bulunmamalıdır. Uygulamaya dahil edilen hata ayıklama kitaplıkları, performans ve güvenlik sorunlarına neden olabilir.
Pil
Pil:Yönet T-Battery:Manage

Uygulama, Doz ve Uygulamayı Beklemeye Alma güç yönetimi özelliklerini düzgün şekilde destekliyor.

Uygulamalar, güç bakımı muafiyeti isteğinde bulunabilir. Doz ve Uygulamayı Beklemeye Alma için Optimize Etme başlıklı makalenin Diğer kullanım alanları için destek bölümüne bakın.

Gizlilik ve güvenlik

Uygulama, kullanıcı verilerini ve kişisel bilgileri güvenli bir şekilde işliyor ve uygun izin düzeyleri sağlıyor.

Google Play Store'da yayınlanan uygulamalar, kullanıcı gizliliğini korumak için Google Play Kullanıcı Verileri politikalarına da uymalıdır.

ID Testler Açıklama
İzinler
İzinler:Min T-Permissions:Min Uygulama, mevcut kullanım alanını desteklemek için yalnızca kesinlikle gerekli olan minimum izinleri istiyor. Konum gibi bazı izinler için uygulama, mümkünse tam yerine yaklaşık bir spesifikasyon kullanır. İzin isteklerinizi en aza indirme başlıklı makaleyi inceleyin.
İzinler:Hassas T-Permissions:Sensitive

Uygulama, yalnızca uygulamanın temel kullanım alanlarıyla doğrudan ilişkili olduğunda hassas verilere (ör. SMS veya Arama Kaydı izin grupları ya da konum) veya ücretli hizmetlere (ör. Çevirici veya SMS) erişim izni ister. Bu izinlerle ilgili etkiler, kullanıcıya belirgin bir şekilde açıklanmalıdır.

Uygulamanızın izinleri nasıl kullandığına bağlı olarak, hassas bilgilere erişim gerektirmeden uygulamanızın kullanım alanını karşılamanın alternatif bir yolu olabilir. Örneğin, kullanıcının kişileriyle ilgili izin istemek yerine erişim isteğinde bulunmak için örtülü amaç kullanın.

İzinler:Çalışma zamanı T-Permissions:Runtime Uygulama, çalışma zamanında istenen izinleri uygulama başlatılırken değil, işlev istendiğinde istiyor.
İzinler:Açıklama T-Permissions:Explain Uygulama, izinlerin neden gerekli olduğunu net bir şekilde açıklıyor.
İzinler:Degrade T-Permissions:Degrade Kullanıcılar bir izni reddettiğinde veya iptal ettiğinde uygulama kontrollü azaltma uygular. Uygulama, kullanıcı erişimini tamamen engellememelidir.
Veriler ve dosyalar
Veri:Hassas T-Data:Sensitive,
T-Data:Handling
Tüm hassas veriler uygulamanın dahili depolama alanında saklanır.
Veri:Günlük T-Data:Log Sistem günlüğüne veya uygulamaya özel bir günlüğe kişisel veya hassas kullanıcı verileri kaydedilmez.
Veri:Kimlikler T-Data:IDs Uygulama, tanımlama amacıyla IMEI gibi sıfırlanamayan donanım kimliklerini kullanmıyor.
Kimlik
Kimlik:İpuçları T-Identity:Hints Uygulama, hesap kimlik bilgilerinin ve kredi kartı bilgileri, fiziksel adres ve telefon numarası gibi diğer hassas bilgilerin otomatik doldurulması için ipuçları veriyor.
Identity:CredMan T-Identity:CredMan Uygulama, geçiş anahtarları, federasyon kimliği ve şifreler için desteği birleştiren sorunsuz bir oturum açma deneyimi sunmak üzere Android için Kimlik Bilgisi Yöneticisi'ni entegre eder.
Kimlik:Biyografi T-Identity:Bio Uygulama, finansal işlemleri veya önemli kullanıcı belgeleri gibi hassas bilgileri korumak için biyometrik kimlik doğrulamayı destekliyor.
Uygulama Bileşenleri
Bileşenler:Dışa aktarma T-Components:Export

Uygulama, tüm android:exported özelliklerini etkinlikler, hizmetler,yayın alıcılar ve özellikle içerik sağlayıcılar için açıkça ayarlar.

Yalnızca diğer uygulamalarla veri paylaşan uygulama bileşenleri veya diğer uygulamalar tarafından çağrılması gereken bileşenler dışa aktarılır.

Bileşenler:İzinler T-Components:Permissions

Tüm amaçlar ve yayınlar en iyi uygulamalara uygundur:

Bileşenler:Koruma T-Components:Protection

Uygulamalar arasında içerik paylaşan tüm bileşenler, özel izinler için android:protectionLevel="signature" kullanır. Etkinlikler, hizmetler, yayın alıcılar ve özellikle içerik sağlayıcılar bu kapsamdadır.

Uygulamalar, yüklü paketlerin listesine erişmeye güvenmemelidir.

Ağ Ürünleri
Ağ:Trafik T-Network:Traffic (T-Ağ:Trafik) Tüm ağ trafiği SSL üzerinden gönderilir.
Network:Config T-Network:Config Uygulama, ağ güvenliği yapılandırması bildiriyor.
Ağ:Play T-Network:Play Uygulama Google Play Hizmetleri'ni kullanıyorsa güvenlik sağlayıcı, uygulama başlatılırken başlatılır.
WebViews
WebViews:Config T-WebViews:Config,
T-WebViews:Nav
Yerel içeriğe erişmek için setAllowUniversalAccessFromFileURLs() kullanmayın. Bunun yerine WebViewAssetLoader kullanın.
WebView'lar:JavaScript T-WebViews:JavaScript,
T-WebViews:Nav

Web görünümleri, güvenilmeyen içeriklerle addJavaScriptInterface() kullanmaz.

Android 6.0 (API düzeyi 23 ve sonraki sürümler) üzerinde bunun yerine HTML mesaj kanallarını kullanın.

Uygulama
Yürütme:Paketler T-Execution:Bundles

Uygulama, APK'sının dışından kod dinamik olarak yüklemiyor. Play Feature Delivery ve Play Asset Delivery'nin dahil olduğu Android App Bundle'ı kullanın.

Ağustos 2021'den itibaren Google Play Store'daki tüm yeni uygulamalarda Android App Bundle'ların kullanılması zorunludur.

Kriptografi
Kripto:Algoritmalar T-Crypto:Algorithms Uygulama, dize, platform tarafından sağlanan kriptografik algoritmalar ve rastgele sayı oluşturucu kullanıyor. Ayrıca, uygulamada özel algoritmalar uygulanmaz.

Google Play

Uygulamanızın Google Play'de yayınlanmasını sağlayın.

ID Testler Açıklama
Politikalar
Play:Policies T-Play:Policies Uygulama, Google Play Geliştirici İçerik Politikası'nın şartlarına sıkı sıkıya bağlıdır, uygunsuz içerik sunmaz ve başkalarının fikri mülkiyetini veya markasını kullanmaz.
Play:Maturity T-Play:Policies Uygulamanın yetişkinlik düzeyi, İçerik Derecelendirme Kuralları'na göre uygun şekilde ayarlanmalıdır.
Uygulama ayrıntıları sayfası
Play:Grafikler T-Play:Graphics,
T-Play:Assets

Uygulama özellik grafiği, bu destek makalesinde belirtilen yönergelere uygundur. Aşağıdakilerden emin olun:

  • Uygulama listelemesinde yüksek kaliteli bir özellik grafiği bulunmalıdır.
  • Öne çıkan görselde, uygulamanızın hedeflediği en küçük ekran boyutunda ölçeklendirilip görüntülendiğinde okunamayan küçük metinler, ekran görüntüleri veya cihaz resimleri yer almıyor
  • Özellik grafiği, reklam gibi görünmüyor
Play:NonAndroid T-Play:Assets Uygulama ekran görüntüleri ve videolarında Android olmayan cihazlar gösterilmiyor veya bunlara referans verilmiyor.
Play:Yanlış yönlendirme T-Play:Assets Uygulama ekran görüntüleri veya videoları, uygulamanızın içeriğini ve deneyimini yanıltıcı bir şekilde temsil etmiyor.
Kullanıcı Desteği
Play:Bugs T-Play:Policies Google Play sayfasının Yorumlar sekmesinde kullanıcılar tarafından bildirilen yaygın hatalar, tekrarlanabilir ve birçok farklı cihazda meydana geliyorsa ele alınır. Yalnızca birkaç cihazda hata oluşsa bile bu cihazlar özellikle popüler veya yeni ise hatayı düzeltmeniz gerekir.

Test ortamı

Test ortamını aşağıdaki gibi ayarlayın:

  • Emülatör testi: Android Emulator, uygulamanızı farklı Android sürümlerinde ve ekran çözünürlüklerinde test etmenin harika bir yoludur. Hedef kullanıcı tabanınız için en yaygın form faktörlerini ve donanım/yazılım kombinasyonlarını temsil edecek emüle edilmiş cihazlar (AVD'ler) oluşturun. Aşağıdaki emülatörleri (en az) kullanarak çeşitli form faktörlerini test edin:

    • Katlanabilir cihazlar: Dış ekranlı 7,6 inç katlanabilir cihaz (AVD Yöneticisi'nde telefonlar altında listelenir)
    • Tablet: Pixel C 9,94 inç (2.560 piksel x 1.800 piksel)
    • Mobil uygulama bildirimi testi: Bir mobil cihazı / emülatörü Wear OS emülatörüyle eşleyin: Wear OS Round 1.84"
  • Donanım cihazlar: Test ortamınızda, tüketicilerin kullanımına sunulan temel form faktörlerini ve donanım/yazılım kombinasyonlarını temsil eden az sayıda gerçek donanım cihaz bulunmalıdır. Piyasada bulunan her cihazda test yapmanız gerekmez. Form faktörü başına bir veya iki cihaz kullanmak da dahil olmak üzere, temsili cihazlardan oluşan küçük bir sayıya odaklanın.

  • Cihaz test laboratuvarları: Uygulamanızı çok çeşitli cihazlarda test etmek için Firebase Test Lab gibi üçüncü taraf hizmetlerini de kullanabilirsiniz.

  • En yeni Android sürümüyle test edin: Hedef kullanıcı tabanınız için temsili Android sürümlerini test etmenin yanı sıra, en yeni davranış değişikliklerinin uygulamanızın kullanıcı deneyimini olumsuz etkilemediğinden emin olmak için her zaman en yeni Android sürümüyle test yapmanız gerekir.

Birim testi, entegrasyon testi ve kullanıcı arayüzü testi dahil olmak üzere test etme hakkında daha fazla bilgi için Android uygulamalarını test etmenin temelleri başlıklı makaleyi inceleyin.

StrictMode

Performans testi için uygulamanızda StrictMode'ı etkinleştirin. Performansı, ağ erişimlerini ve dosya okuma/yazma işlemlerini etkileyebilecek işlemleri yakalamak için StrictMode'ı kullanın. Hem ana iş parçacığında hem de diğer iş parçacıklarında sorun oluşturabilecek işlemleri arayın.

StrictMode.ThreadPolicy.Builder kullanarak iş parçası başına izleme politikası oluşturun ve detectAll() kullanarak ThreadPolicy'de desteklenen tüm izleme özelliklerini etkinleştirin.

penaltyFlashScreen() kullanarak ThreadPolicy için politika ihlallerinin görsel bildirimini etkinleştirin.

Testler

Temel uygulama kalitesi testleri, uygulamanızın temel kalitesini değerlendirmenize yardımcı olur. Testleri birleştirebilir veya test gruplarını test planınıza entegre edebilirsiniz.

Kullanıcı deneyimi

ID Özellik Açıklama
Kullanılabilirlik
T-Usability:Core Kullanılabilirlik:Kullanıcı deneyimi

Uygulamanın tüm bölümlerine (tüm ekranlar, iletişim kutuları, ayarlar ve tüm kullanıcı akışları) gidin.

Aşağıdakileri yapın:
  • Uygulama, düzenleme veya içerik oluşturma, oyun oynama ya da medya oynatma işlemlerine izin veriyorsa bu akışları test ettiğinizden emin olun.
  • Uygulamayı test ederken diğer uygulamalardan gelen kesintileri (ör. bildirim veya telefon araması alma) deneyin ve cihaz özelliklerinde geçici değişiklikler (ör. ağ bağlantısı, pil işlevi, GPS kullanılabilirliği ve sistem yükü) uygulayın.
  • Tüm uygulama içi satın alma akışlarını girin ve test edin
T-Usability:Switcher Kullanılabilirlik:Switcher Her uygulama ekranından, çalışan başka bir uygulamaya geçin ve ardından Son Kullanılanlar uygulama değiştiricisini kullanarak test edilen uygulamaya geri dönün.
T-Usability:Sleep Kullanılabilirlik:Uyku Cihazı uyku moduna almak için güç düğmesine basın, ardından ekranı uyandırmak için güç düğmesine tekrar basın.
T-Usability:Lock Kullanılabilirlik:Kilitleme Cihazda ekran kilidi ayarlayın. Cihazı uyku moduna geçirmek (kilitlemek) için güç düğmesine basın. Ardından, ekranı uyandırmak ve cihazın kilidini açmak için güç düğmesine tekrar basın.
SD kart
T-SD-Card Kullanılabilirlik:Kullanıcı deneyimi

Uygulama cihazın SD kartına yüklenmişken (uygulama bu yükleme yöntemini destekliyorsa) temel işlevsellik testleri yapın.

Uygulamayı SD karta taşımak için uygulama Ayarları'na bakın.

Kullanıcı arayüzü
T-UI:Transitions UI:Parity,
UI:Fullscreen,
UI:Transitions

Her uygulama ekranında cihazı yatay ve dikey yönler arasında, katlanmış ve açılmış durumlar arasında en az üç kez döndürün.

Uygulamanın aşağıdakileri yaptığını doğrulayın:
  • Tüm ekran yönlerinde ve katlama durumlarında işlev eşitliği sağlar.
  • Tüm ekran yönlerinde ve katlama durumlarında uygulama penceresini doldurur ve mektup kutusu biçiminde değildir.
  • Durumu korur ve yönler arasında hızlı geçişler ile cihaz katlama ve açma sırasında oluşturma sorunları yaşanmaz.
Görsel kalite
T-Visual:Display Görsel:Görüntüleme Uygulamanızın tüm özelliklerini kullanın. Grafikler, metinler, resimler ve diğer kullanıcı arayüzü öğeleri dahil olmak üzere tüm görsellerin bozulma, bulanıklık veya pikselleşme içermediğini doğrulayın.
T-Visual:Readability Görsel:Okunabilirlik

Uygulamadaki tüm metin bloklarını inceleyin. Okunabilirlik için metin ve metin bloğu satır uzunluğunun 45-75 karakterle (boşluklar dahil) sınırlı olduğunu doğrulayın.

Aşağıdakileri doğrulayın:
  • Kompozisyon, desteklenen tüm form faktörlerinde kabul edilebilir olmalıdır.
  • Kesilmiş harf veya kelime olmamalıdır.
  • Düğmelerde veya simgelerde uygunsuz kelime kaydırmaları olmamalıdır.
  • Metin ile çevreleyen öğeler arasında yeterli boşluk olmalıdır.
T-Visual:Themes Görsel:Temalar Tüm metinlerin hem açık hem de koyu temada okunabilir olduğunu doğrulayın. Tüm görsellerin açık ve koyu temalarda net bir şekilde ayırt edilebilir ve estetik olduğunu doğrulayın.
Navigasyon
T-Nav:Back Nav:BackButton,
Nav:BackGesture

Uygulamanın tüm bölümlerine (tüm ekranlar, iletişim kutuları, ayarlar ve tüm kullanıcı akışları) gidin.

Her uygulama ekranında Geri düğmesine basın veya geri kaydırma hareketini kullanın. Uygulama, önceki ekrana veya ana ekrana gitmelidir.

T-Nav:State Nav:State Her uygulama ekranında cihazın Ana Sayfa tuşuna basın veya hareketli gezinmede yukarı kaydırın, ardından uygulamayı Tüm Uygulamalar ekranından yeniden başlatın.
Bildirimler
T-Notify:Info Notify:Info,
Notify:Messaging
Uygulamanın gösterebileceği tüm bildirim türlerini bildirim çekmecesinde tetikleyin ve gözlemleyin. Gerekirse bildirimleri genişletin (Android 4.1 ve sonraki sürümler) ve kullanılabilir tüm işlemlere dokunun.
Erişilebilirlik
T-Access:Hedefler Erişim:Hedefler Dokunma hedeflerinin, tüm ekran boyutları ve yapılandırmaları için tutarlı ve erişilebilir bir boyut ve konumda olduğundan emin olun. Erişilebilirlik hakkında bilgi edinmek için Erişilebilirlik Tarayıcısı'na bakın.
T-Access:Contrast Erişilebilirlik:Kontrast Tüm görsel öğelerin kontrastını doğrulayın.
T-Access:Description Access:Description TextView dışındaki tüm kullanıcı arayüzü öğelerinin içerik açıklamaları olduğunu doğrulayın.

Uygulama işlevi

ID Özellik Açıklama
Ses
T-Audio:Init Audio:Init Ses çalmayı başlatma Uygulamanın bir saniye içinde sesi çalmaya başladığını veya ses verilerinin oynatma için hazırlandığını gösteren görsel bir gösterge sağladığını doğrulayın.
T-Audio:Focus Ses:Odaklanma Ses çalmayı başlatma Uygulama ses odağı isteğinde bulunmalıdır. Ses çalma durduğunda uygulama, ses odağını bırakmalıdır (Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen uygulamalarda bu işlem otomatik olarak gerçekleşir).
T-Audio:Interrupt Ses:Kesme Ses çalmayı başlatma Başka bir uygulamada ses oynatmayı başlatın. Uygulamanız, ses odağındaki değişikliğe yanıt vermeli ve ses oynatmayı durdurmalı veya oynatma sesini azaltmalıdır.
T-Audio:Background Ses:Arka plan Ses çalmayı başlatma Ön plan uygulaması olarak başka bir ses dışı uygulamayla etkileşimde bulunun. Uygulama, sesi arka planda çalmaya devam etmelidir.
T-Audio:Notification Ses:Bildirim Ses çalmayı başlatma Başka bir ses dışı uygulamayla etkileşim kurarak bu uygulamayı ön plan uygulaması olarak kullanın. Uygulamanızın arka planda ses çalmaya devam ettiğini ve MediaStyle ile stilize edilmiş bir bildirim oluşturduğunu doğrulayın. Medya kontrolleriyle uyumlu çalışma başlıklı makaleyi inceleyin.
T-Audio:Resume Ses:Devam ettir Ses çalmayı başlatma Başka bir ses dışı uygulamayla ön plan uygulaması olarak etkileşimde bulunun. Uygulamanızla etkileşimde bulunarak onu en üstteki uygulama yapın. Ses devam etmeli veya ses düzeyi geri yüklenmelidir. Aksi takdirde uygulama, oynatmanın duraklatıldığını kullanıcıya bildirmelidir.
T-Video:PiP Video:PiP Uygulamada pencere içinde pencere modunda video oynatmayı etkinleştirin.
T-Video:Encoding Video:Encoding Uygulamanın, videoyu HEVC video sıkıştırma standardını kullanarak kodladığını doğrulayın.
Paylaşım
Paylaşım:Sheet Bir amaç oluşturun ve startActivity() işlevini amaçla birlikte bağımsız değişken olarak çağırarak bir etkinlik başlatın. Android paylaşım sayfasını kullanma başlıklı makaleyi inceleyin. Uygulamanızda Android paylaşım sayfası gösterilmelidir.
Arka plan hizmetler
CR-6 Arka plan:Hizmetler

Uygulamanızın tüm önemli özelliklerini kullanın. Uzun süren arka plan hizmetlerinin başlatılmadığını doğrulayın.

Uygulamanızı arka plana göndermek için başka bir uygulamaya geçin. Ayarlar'a gidin ve uygulamanızın arka planda çalışırken herhangi bir hizmeti çalıştırıp çalıştırmadığını kontrol edin. Android 4.0 ve sonraki sürümlerde Uygulamalar ekranına gidip Çalışıyor sekmesinde uygulamayı bulun.

Performans ve kararlılık

ID Özellik Açıklama
Performans
T- Performance:Startup Performans:Başlangıç Uygulamanızı başlatın. Uygulamanın hızlı bir şekilde yüklendiğini veya yüklenmesi iki saniyeden uzun sürerse bir ilerleme göstergesi ya da benzer bir işaret sağladığını doğrulayın.
T-Performance:FPS Performans:FPS Uygulamanızın tüm önemli özelliklerini kullanın. Uygulamanın saniyede en az 60 kare oluşturduğunu doğrulayın. Uygulamanızı test etmenize yardımcı olması için Profil HWUI oluşturma seçeneğini kullanın.
T-Performance:Strict Performans:Katı

Uygulamanızda StrictMode'ı etkinleştirin. Tüm temel özellikleri kullanın. Uygulamanın StrictMode performans uyarısı üretmediğini doğrulayın. Yani uygulama test edilirken kırmızı yanıp sönmeler görünmemelidir. Kırmızı yanıp sönmeler, depolama, ağ erişimi veya bellek yönetimi (ör. bellek sızıntıları) ile ilgili kötü davranışları gösterir.

Çöp toplama işlemine ve bunun kullanıcı deneyimi üzerindeki etkisine dikkat edin.

Kararlılık
T-Stability:ANR Kararlılık:ANR Uygulamanızın tüm önemli özelliklerini kullanın. Uygulamanın kilitlenmediğini veya ANR (Android yanıt vermiyor) hatalarına neden olan kullanıcı arayüzü iş parçacığını engellemediğini doğrulayın. Olası kararlılık sorunlarını belirlemek için Google Play lansman öncesi raporunu inceleyin.
SDK
T-SDK:Platform SDK:Platform Uygulamanızı Android platformunun en son herkese açık sürümünde çalıştırın. Tüm önemli özellikleri kullanın. Uygulamanın kilitlenmediğini ve temel işlevlerde herhangi bir kayıp olmadan çalıştığını doğrulayın.
T-SDK:En son SDK:Target,
SDK:Compile
Uygulamanın mevcut en son SDK'ya (targetSdk ve compileSdk) göre oluşturulduğundan emin olmak için Android manifest dosyasını ve derleme yapılandırmasını inceleyin.
T-SDK:3P SDK:3P Uygulamanızın build.gradle dosyasında eski bağımlılıklar olup olmadığını inceleyin.
T-SDK:Non SDK:Yok SDK olmayan arayüz kullanımını tespit etmek için Android Studio lint aracını kullanın. Alternatif test yöntemleri için SDK olmayan arayüzlerde kısıtlamalar başlıklı makaleyi inceleyin.
T-SDK:Debug SDK:Debug Uygulamanızın build.gradle dosyasında hata ayıklama kitaplıklarının olup olmadığını inceleyin.
Pil
T-Battery:Manage Pil:Yönet

Doz ve Uygulamayı Beklemeye Alma modlarında tüm önemli uygulama özelliklerini kullanma Alarm, zamanlayıcı, bildirim ve senkronizasyonların, Doze bakım aralığında ve uygulama Uygulama Bekleme modundan çıktığında düzgün şekilde çalıştığını doğrulayın.

ADB komutlarını kullanarak Doz ve Uygulamayı Beklemeye Alma davranışını test edin (şartlar ve yönergeler için Doz ve Uygulamayı Beklemeye Alma ile test etme bölümüne bakın).

Pilin beklenmedik şekilde bitmesi sorununu teşhis etmek için planlanmış arka plan çalışmasıyla birlikte Android Studio Power Profiler'ı veya Battery Historian aracını kullanın.

Gizlilik ve güvenlik

ID Özellik Açıklama
İzinler
T-Permissions:Min İzinler:Min Uygulamanızın gerektirdiği tüm izinleri manifest dosyasında, çalışma zamanında ve cihazdaki uygulama ayarlarında (Ayarlar > Uygulama Bilgileri) inceleyin.
T-Permissions:Sensitive İzinler:Hassas Uygulamanızın izin isteyen özelliklerini kullanın. Uygulamanın, hassas verilere veya hizmetlere erişim iznini yalnızca temel uygulama kullanım alanları için istediğini doğrulayın. Hassas veriler ve hizmetler için izin vermenin sonuçlarının kullanıcıya net bir şekilde iletildiğini doğrulayın.
T-Permissions:Runtime İzinler:Çalışma Zamanı Uygulamanızın izin gerektiren tüm özelliklerini kullanın. İzinlerin geç olarak, yani yalnızca özelliklere erişildiğinde (uygulama başlatılırken değil) istendiğini doğrulayın.
T-Permissions:Explain İzinler:Açıklama Uygulamanızın izin gerektiren tüm özelliklerini kullanın. Uygulamanın, izinlerin neden gerekli olduğunu kullanıcıya açıkladığını doğrulayın.
T-Permissions:Degrade İzinler:Degrade Uygulamanızın izin gerektiren tüm özelliklerini kullanın. İzinleri reddedin veya iptal edin. Uygulamanın alternatif bir kullanım alanı sunduğunu ve çalışmaya devam ettiğini doğrulayın.
Veriler ve dosyalar
T-Data:Sensitive Veri:Hassas Dahili depolama alanında saklanan tüm verileri inceleyin. Harici olarak depolanan verilerin hassas veri olmadığını doğrulayın.
T-Data:Handling Veri:Hassas Harici depolamadan yüklenen verilerin nasıl işlendiğini ve kullanıldığını inceleyin.
T-Data:Log Veri:Günlük Cihaz günlüğünü izlerken uygulamanın tüm önemli özelliklerini kullanın. Hiçbir özel kullanıcı bilgisinin günlüğe kaydedilmediğini doğrulayın.
T-Data:IDs Veri:Kimlikler Tüm önemli uygulama özelliklerini kullanın. Uygulamanın tanımlama amacıyla IMEI gibi donanım kimlikleri kullanmadığını doğrulayın.
Kimlik
T-Identity:Hints Identity:Hints Kullanıcı girişi gerektiren tüm uygulama özelliklerini kullanın. Uygulamanın, hesap kimlik bilgileri ve diğer hassas bilgiler gibi veriler için giriş alanlarını otomatik doldurmaya yönelik ipuçları sağladığını doğrulayın.
T-Identity:CredMan Identity:CredMan Uygulamanızda oturum açın. Uygulamanın, geçiş anahtarları, federasyon kimliği ve şifreler için desteği birleştiren bir oturum açma deneyimi sunmak üzere Android için Kimlik Bilgisi Yöneticisi'ni entegre ettiğini doğrulayın.
T-Identity:Bio Kimlik:Biyografi Kimlik doğrulama gerektiren tüm uygulama özelliklerini kullanma Uygulamanın, finansal işlemleri veya önemli kullanıcı belgeleri gibi hassas bilgileri biyometrik kimlik doğrulama ile koruduğunu doğrulayın.
Uygulama Bileşenleri
T-Components:Export Bileşenler:Dışa aktarma Android manifest dosyasında tanımlanan tüm uygulama bileşenlerini uygun dışa aktarma durumu için inceleyin. Dışa aktarılan özellik, tüm bileşenler için açıkça ayarlanmalıdır.
T-Components:Permissions Bileşenler:İzinler Manifest dosyasında, çalışma zamanında ve cihazdaki uygulama ayarlarında (Ayarlar > Uygulama Bilgileri) uygulamanızın gerektirdiği tüm izinleri inceleyin.
T-Components:Protection Bileşenler:Koruma Android manifest dosyasında tanımlanan tüm içerik sağlayıcıları inceleyin. Her sağlayıcının uygun bir protectionLevel öğesine sahip olduğundan emin olun.
Ağ Ürünleri
T-Network:Traffic Ağ:Trafik Şifresiz metin trafiğini devre dışı bırakan bir ağ güvenliği yapılandırması bildirin ve uygulamayı test edin.
T-Network:Config Network:Config Uygulamanın ağ güvenliği yapılandırmasını inceleyin. Yapılandırmayla ilgili herhangi bir lint kontrolünün başarısız olmadığını doğrulayın.
T-Network:Play Network:Play Google Play Hizmetleri için güvenlik sağlayıcının uygulama başlatılırken başlatıldığını doğrulayın.
WebViews
T-WebViews:Config WebViews:Config Uygulamanın ağ güvenliği yapılandırmasını inceleyin. Yapılandırmayla ilgili herhangi bir lint kontrolünün başarısız olmadığını doğrulayın.
T-WebViews:JavaScript WebViews:JavaScript Her WebView için JavaScript gerektiren bir sayfaya gidin.
T-WebViews:Nav WebViews:Config,
WebViews:JavaScript
Her WebView'da, doğrudan uygulamanız tarafından yüklenmeyen sitelere ve içeriklere gitmeyi deneyin.
Uygulama
T-Execution:Bundles Yürütme:Paketler Uygulamanın Android App Bundle kullandığını ve uygulamanın APK'sı dışından dinamik olarak kod yüklemediğini doğrulayın.
Kriptografi
T-Crypto:Algorithms Crypto:Algorithms Uygulamanın, platform tarafından sağlanan güçlü kriptografik algoritmalar ve rastgele sayı oluşturucu kullandığını doğrulayın. Ayrıca, uygulamanın özel algoritmalar uygulamadığını da doğrulayın.

Google Play

ID Özellik Açıklama
Politikalar
T-Play:Policies Play:Policies,
Play:Maturity,
Play:Bugs
Geliştirici profilinizi, uygulama açıklamanızı, ekran görüntülerinizi, öne çıkan görselinizi, içerik derecelendirmenizi ve kullanıcı geri bildirimlerinizi incelemek için Google Play Developer Console'da oturum açın.
Uygulama ayrıntıları sayfası
T-Play:Graphics Play:Graphics Özellik grafiğinizi ve ekran görüntülerinizi indirip hedeflediğiniz cihazlardaki ve form faktörlerindeki ekran boyutlarına uyacak şekilde küçültün.
T-Play:Assets Play:Graphics,
Play:NonAndroid,
Play:Misleading
Uygulamaya veya genişletme dosyası indirme işlemine dahil edilen tüm grafik öğeleri, medya, metin, kod kitaplıkları ve diğer içerikleri inceleyin.

Arşiv

Temel uygulama kalitesi yönergelerinin önceki sürümleri: