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.
|
| 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 | ||
| Nav:BackButton | T-Nav:Back | Uygulama, standart geri düğmesiyle gezinmeyi destekler ve özel ekran içi geri düğmesi istemleri kullanmaz. |
| Nav:BackGesture | T-Nav:Back | Uygulama, geri gitmek ve ana ekrana gitmek için hareketle gezinmeyi destekliyor. |
| Nav:State | 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.
|
| Bildirimler | ||
| Notify:Info | T-Notify:Info |
Bildirimler, uygulamanızla ilgili alakalı bilgiler sağlar.
|
| 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:
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:
|
| 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:
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 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 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 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:
|
|
| 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:
|
| 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:
|
| 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:
|
| 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 Çö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: