Pedoman kualitas aplikasi inti

Untuk memberikan fondasi yang kuat bagi aplikasi berkualitas, ikuti pedoman kualitas aplikasi inti.

Pedoman ini menentukan kualitas minimum yang harus dipenuhi oleh semua aplikasi.

Kualitas aplikasi adaptif

Aplikasi Android berjalan di berbagai perangkat—mulai dari ponsel ringkas hingga tablet, perangkat foldable, desktop, layar terhubung, sistem infotainment mobil, TV, dan XR. Mode jendela seperti layar terpisah dan jendela desktop memungkinkan aplikasi berjalan di bagian layar yang dapat diubah ukurannya.

Ikuti pedoman kualitas aplikasi adaptif—bersama dengan pedoman kualitas aplikasi inti—untuk:

  • Membuat aplikasi yang dioptimalkan untuk semua faktor bentuk dan ukuran tampilan
  • Mendapatkan peringkat aplikasi yang lebih tinggi di listingan dan penelusuran Google Play
  • Mendapatkan lebih banyak pengguna dan meningkatkan retensi pengguna

Panduan

Panduan inti berikut membantu Anda membuat aplikasi dasar berkualitas tinggi.

Pengalaman pengguna

Pola interaksi dan desain visual Android standar memberikan pengalaman pengguna yang konsisten dan intuitif.

Gunakan Komponen desain material untuk membuat antarmuka pengguna aplikasi Anda sebagai pengganti komponen platform Android jika memungkinkan. Desain Material memberikan tampilan dan nuansa Android modern serta konsistensi UI di seluruh versi Android.

Kegunaan

ID Pengujian Deskripsi
Consistent_UX T-Consistent_UX,
T-SD_Card
Aplikasi memberikan pengalaman pengguna yang konsisten untuk semua kasus penggunaan aplikasi di semua faktor bentuk.
App_Switcher T-App_Switcher,
T-SD_Card
Aplikasi masuk ke latar belakang saat fokus beralih ke aplikasi lain. Aplikasi kembali ke latar depan saat diaktifkan kembali dari pengalih aplikasi Terbaru.
Sleep_Resume T-Sleep_Resume,
T-SD_Card
Saat menjadi aplikasi latar depan, aplikasi akan dijeda saat perangkat memasuki mode tidur dan dilanjutkan saat perangkat aktif.
Lock_Resume T-Lock_Resume,
T-SD_Card
Saat menjadi aplikasi latar depan, aplikasi akan dijeda saat perangkat dikunci dan dilanjutkan saat perangkat dibuka kuncinya.

Antarmuka pengguna

ID Pengujian Deskripsi
Display_State_Parity T-Orientation_Transitions

Orientasi tampilan dan status lipatan pada dasarnya mengekspos fitur dan tindakan yang sama serta mempertahankan paritas fungsional.

Fullscreen_Display T-Orientation_Transitions

Aplikasi mengisi jendela aplikasi dalam kedua orientasi dan tidak memiliki tampilan lebar karena perubahan konfigurasi, termasuk saat perangkat dilipat dan dibentangkan.

Tampilan lebar kecil untuk menggantikan variasi kecil di geometri layar diperbolehkan.

Orientation_Transitions T-Orientation_Transitions Aplikasi menangani transisi cepat antara orientasi tampilan dan tindakan melipat serta membentangkan perangkat tanpa masalah rendering tampilan dan tanpa kehilangan status.

Kualitas visual

ID Pengujian Deskripsi
Graphic_Quality T-Graphic_Quality

Aplikasi menampilkan grafis, teks, gambar, dan elemen UI lainnya tanpa pikselasi, blur, atau distorsi yang kentara.

  • Aplikasi menggunakan vektor drawable jika memungkinkan
  • Aplikasi menggunakan grafis berkualitas tinggi untuk semua ukuran layar dan faktor bentuk yang ditargetkan
  • Tidak ada aliasing pada tepi menu, tombol, dan elemen UI lainnya
Line_Length T-Line_Length Aplikasi memastikan keterbacaan teks dan blok teks dengan membatasi panjang baris hingga 45-75 karakter (termasuk spasi) untuk setiap bahasa yang didukung aplikasi.
Theme_Support T-Theme_Support Konten aplikasi, dan semua konten web yang diakses oleh aplikasi, mendukung tema terang dan gelap.
ID Pengujian Deskripsi
Back_Button_Nav T-Back_Nav Aplikasi mendukung navigasi tombol kembali standar dan tidak menggunakan perintah tombol kembali khusus di layar.
Back_Gesture_Nav T-Back_Nav Aplikasi mendukung navigasi gestur untuk kembali dan beralih ke layar utama.
State_Preservation T-State_Preservation,
T-Back_Nav

Aplikasi mempertahankan status pengguna atau aplikasi saat meninggalkan latar depan dan mencegah kehilangan data secara tidak sengaja akibat navigasi mundur dan perubahan status lainnya.

Saat kembali ke latar depan, aplikasi akan memulihkan status yang dipertahankan dan transaksi stateful yang tertunda. Contohnya mencakup perubahan pada kolom yang dapat diedit, progres game, menu, video, dan bagian lain pada aplikasi.

  • Bila dilanjutkan dari pengalih aplikasi Terbaru, aplikasi akan mengembalikan pengguna ke status saat aplikasi terakhir kali digunakan.
  • Bila dilanjutkan setelah perangkat diaktifkan dari status tidur (terkunci), aplikasi akan mengembalikan pengguna ke status saat aplikasi terakhir kali digunakan.
  • Saat diluncurkan kembali dari Beranda atau Semua Aplikasi, aplikasi harus melakukan salah satu hal berikut, bergantung pada durasi yang telah berlalu sejak aplikasi terakhir kali digunakan:
    • Jika aplikasi terakhir digunakan beberapa waktu yang lalu (menit), pulihkan status aplikasi sedekat mungkin ke status sebelumnya.
    • Jika lebih banyak waktu telah berlalu sejak aplikasi terakhir digunakan, coba pulihkan aplikasi sedekat mungkin ke status sebelumnya atau mulai aplikasi dari layar utamanya atau status default lainnya.

Notifikasi

ID Pengujian Deskripsi
Notification_Quality T-Notification_Quality

Notifikasi memberikan informasi yang relevan terkait aplikasi Anda.

  • Jangan gunakan notifikasi untuk promosi silang atau mengiklankan produk lain, karena hal ini sangat dilarang oleh Play Store.
  • Saluran notifikasi ditentukan menurut praktik terbaik, bukan menampilkan semua notifikasi dari satu saluran.
  • Pilih prioritas notifikasi yang benar.
  • Tumpuk beberapa notifikasi ke dalam satu grup notifikasi jika memungkinkan.
  • Setel waktu tunggu untuk notifikasi jika diperlukan.
  • Notifikasi bersifat menetap hanya jika berkaitan dengan peristiwa yang berlangsung, misalnya pemutaran musik atau panggilan telepon. Untuk mengetahui informasi selengkapnya, lihat bagian Fungsi.
Conversation_Quality T-Notification_Quality

Untuk aplikasi pesan, aplikasi sosial, dan percakapan:

Aksesibilitas

ID Pengujian Deskripsi
Touch_Target_Size T-Touch_Target_Size Target sentuh setidaknya 48 dp. Lihat panduan Tata letak dan tipografi Desain Material.
Visual_Contrast T-Visual_Contrast

Konten teks dan latar depan aplikasi mempertahankan rasio kontras berikut dengan latar belakang aplikasi:

  • 3:1 untuk teks dan grafik besar
  • 4,5:1 untuk teks kecil (kurang dari 18 pt atau kurang dari 14 pt jika teks dicetak tebal)

Pelajari warna dan kontras lebih lanjut.

Content_Description T-Content_Description Deskripsikan setiap elemen UI, kecuali TextView, menggunakan contentDescription.

Fungsi

Aplikasi Anda harus mengimplementasikan perilaku fungsional berikut.

Audio

ID Pengujian Deskripsi
Audio_Playback_Start T-Audio_Playback_Start

Saat pengguna memulai pemutaran audio, aplikasi harus melakukan salah satu tindakan berikut dalam satu detik:

  • Mulai memutar audio
  • Memberikan indikator visual bahwa data audio sedang disiapkan
Audio_Focus_Request T-Audio_Focus_Request Aplikasi harus meminta fokus audio saat audio mulai diputar dan mengabaikannya saat pemutaran berhenti.
Audio_Focus_Change T-Audio_Focus_Change Aplikasi harus menangani permintaan aplikasi lain untuk fokus audio. Misalnya, aplikasi dapat mengurangi volume pemutaran saat aplikasi lain memutar ucapan.
Audio_Playback_Background T-Audio_Playback_Background

Aplikasi harus mendukung pemutaran di latar belakang.

Aplikasi harus menggunakan layanan latar depan untuk mencegah sistem menghentikan proses aplikasi setelah aplikasi tidak lagi terlihat. Aplikasi juga harus menampilkan notifikasi persisten yang tidak dapat ditutup di status bar atau di layar kunci untuk memberi tahu pengguna bahwa aplikasi sedang berjalan.

Pengguna harus dapat mengontrol pemutaran menggunakan kontrol notifikasi atau layar kunci atau kontrol pada aksesori yang terhubung.

Audio_Notification_Style T-Audio_Notification_Style Saat memutar audio di latar belakang, aplikasi harus membuat notifikasi yang dibuat dengan gaya MediaStyle.
Audio_Playback_Resume T-Audio_Playback_Resume Jika aplikasi berada di latar belakang dan audio dijeda, audio dilanjutkan saat aplikasi kembali ke latar depan, atau aplikasi harus menunjukkan kepada pengguna bahwa pemutaran sedang dijeda.

Video

ID Pengujian Deskripsi
Video_PiP T-Video_PiP Jika memutar video, aplikasi harus mendukung pemutaran picture-in-picture.
Video_Encoding T-Video_Encoding Jika mengenkode video, aplikasi harus melakukannya menggunakan standar kompresi video HEVC.
Video_Playback_Background T-Video_Playback_Background

Aplikasi mendukung pemutaran video di latar belakang saat aplikasi bukan aplikasi teratas, termasuk saat jendela aplikasi:

  • Diperkecil
  • Di belakang jendela atau UI sistem lainnya (misalnya, panel notifikasi atau layar utama/kunci)
  • Di luar layar desktop yang terlihat

Berbagi

ID Pengujian Deskripsi
System_Sharesheet T-System_Sharesheet Aplikasi harus menggunakan Android Sharesheet saat berbagi konten. Aplikasi dapat menyarankan target yang tidak tersedia untuk solusi khusus.

Layanan latar belakang

ID Pengujian Deskripsi
Background_Service_Optimization T-Background_Service_Optimization

Aplikasi menghindari menjalankan layanan berdurasi panjang dan tidak perlu di latar belakang untuk memastikan perangkat pengguna berjalan dengan lancar.

Catatan: Sistem menerapkan berbagai batasan pada layanan latar belakang.

Berikut adalah penggunaan layanan latar belakang yang buruk:

  • Mempertahankan koneksi jaringan untuk notifikasi
  • Mempertahankan koneksi Bluetooth
  • Menjaga GPS tetap aktif

Untuk mengetahui informasi selengkapnya, lihat Ringkasan tugas latar belakang.

Performa dan stabilitas

Aplikasi Anda harus memberikan performa, stabilitas, kompatibilitas, dan responsivitas yang optimal.

Performa

ID Pengujian Deskripsi
App_Startup_Time T-App_Startup_Time Aplikasi dimuat dengan cepat atau memberikan masukan di layar kepada pengguna (indikator progres atau tanda serupa) jika aplikasi perlu waktu lebih dari dua detik untuk dimuat.
Rendering_Performance T-Rendering_Performance Aplikasi merender frame setiap 16 (atau kurang) milidetik untuk menampilkan minimal 60 frame per detik. Untuk mendapatkan bantuan terkait masalah rendering, lihat Rendering lambat.
StrictMode_Compliance T-StrictMode_Compliance Dengan StrictMode diaktifkan (lihat bagian pengujian StrictMode), tidak ada kedipan merah (peringatan performa dari StrictMode) yang terlihat saat menguji aplikasi.

Stabilitas

ID Pengujian Deskripsi
Stability_ANR T-Stability_ANR Aplikasi tidak error atau memblokir UI thread yang menyebabkan error ANR (Android Not Responding). Gunakan laporan pra-peluncuran Google Play untuk mengidentifikasi potensi masalah stabilitas. Setelah deployment, pantau halaman Android Vitals di konsol Google Play.

SDK

ID Pengujian Deskripsi
Android_Platform_Compatibility T-Android_Platform_Compatibility Aplikasi berjalan di platform Android versi publik terbaru tanpa mengalami error atau memberikan pengaruh besar terhadap fungsionalitas inti.
Target_SDK_Version T-Target_SDK_Version Aplikasi menargetkan Android SDK terbaru yang diperlukan untuk menyesuaikan dengan persyaratan Google Play dengan menetapkan nilai targetSdk dalam file build.gradle modul aplikasi.
Compile_SDK_Version T-Target_SDK_Version Aplikasi di-build dengan Android SDK terbaru dengan menetapkan nilai compileSdk dalam file build.gradle modul aplikasi.
SDK_Maintenance T-SDK_Maintenance,
T-Non_SDK_Interfaces

Setiap SDK Google atau pihak ketiga yang digunakan adalah yang terbaru. Peningkatan apa pun pada SDK ini terkait stabilitas, kompatibilitas, atau keamanan harus tersedia bagi pengguna secara tepat waktu.

Untuk SDK Google, gunakan SDK yang didukung oleh layanan Google Play jika tersedia. SDK ini kompatibel dengan versi sebelumnya, menerima update otomatis, mengurangi ukuran paket aplikasi Anda, dan menggunakan resource di perangkat dengan efisien.

Non_SDK_Interfaces T-Non_SDK_Interfaces Aplikasi tidak menggunakan antarmuka non-SDK.
Production_Build_Quality T-Production_Build_Quality Tidak ada library debug yang disertakan dalam aplikasi produksi. Library debug yang disertakan dalam aplikasi dapat menyebabkan masalah performa dan keamanan.

Baterai

ID Pengujian Deskripsi
Power_Management T-Power_Management

Aplikasi mendukung fitur pengelolaan daya Istirahatkan dan Aplikasi Standby dengan benar.

Aplikasi dapat meminta pengecualian pemeliharaan daya. Lihat Dukungan untuk kasus penggunaan lainnya dalam Mengoptimalkan aplikasi untuk mode Istirahatkan dan Aplikasi Standby.

Privasi dan keamanan

Aplikasi menangani data pengguna dan informasi pribadi dengan aman serta memberikan tingkat izin yang sesuai.

Aplikasi yang dipublikasikan di Google Play Store juga harus mematuhi kebijakan Data Pengguna Google Play untuk melindungi privasi pengguna.

Izin

ID Pengujian Deskripsi
Minimize_Permissions T-Minimize_Permissions Aplikasi hanya meminta izin minimum absolut yang diperlukan untuk mendukung kasus penggunaan saat ini. Untuk izin tertentu, seperti lokasi, aplikasi menggunakan spesifikasi kasar sebagai pengganti presisi jika memungkinkan. Lihat Meminimalkan permintaan izin Anda.
Sensitive_Permissions T-Sensitive_Permissions

Aplikasi meminta izin untuk mengakses data sensitif (seperti grup izin SMS atau Log Panggilan atau lokasi) atau layanan berbayar (seperti Telepon atau SMS) hanya jika terkait langsung dengan kasus penggunaan inti aplikasi. Implikasi yang terkait dengan izin ini harus diungkapkan secara jelas kepada pengguna.

Bergantung pada cara aplikasi Anda menggunakan izin, cara alternatif untuk memenuhi kasus penggunaan aplikasi Anda mungkin dapat dilakukan tanpa mengandalkan akses ke informasi sensitif. Misalnya, daripada meminta izin terkait kontak pengguna, gunakan intent implisit untuk meminta akses.

Runtime_Permissions T-Runtime_Permissions Aplikasi meminta izin runtime saat fungsionalitas diminta, bukan selama pengaktifan aplikasi.
Permission_Rationale T-Permission_Rationale Aplikasi menjelaskan dengan jelas alasan izin diperlukan.
Graceful_Degradation T-Graceful_Degradation Aplikasi melakukan degradasi halus saat pengguna menolak atau mencabut izin. Aplikasi tidak boleh mencegah akses pengguna sepenuhnya.

Data dan file

ID Pengujian Deskripsi
Sensitive_Data_Storage T-Sensitive_Data_Storage,
T-Sensitive_Data_Handling
Semua data sensitif disimpan di penyimpanan internal aplikasi.
Sensitive_Data_Logging T-Sensitive_Data_Logging Tidak ada data pengguna pribadi atau sensitif yang dicatat ke log sistem atau log khusus aplikasi.
Hardware_IDs T-Hardware_IDs Aplikasi tidak menggunakan ID hardware apa pun yang tidak dapat direset, seperti IMEI, untuk tujuan identifikasi.

Identitas

ID Pengujian Deskripsi
Petunjuk_PengisianOtomatis T-Autofill_Hints Aplikasi memberikan petunjuk untuk mengisi otomatis kredensial akun dan informasi sensitif lainnya, seperti info kartu kredit, alamat fisik, dan nomor telepon.
Credential_Manager T-Credential_Manager Aplikasi mengintegrasikan Credential Manager untuk Android guna memberikan pengalaman login yang lancar dan menyatukan dukungan untuk kunci sandi, identitas gabungan, dan sandi.
Biometric_Authentication T-Biometric_Authentication Aplikasi mendukung autentikasi biometrik untuk melindungi transaksi keuangan atau informasi sensitif, seperti dokumen pengguna yang penting.

Komponen aplikasi

ID Pengujian Deskripsi
Component_Export T-Component_Export

Aplikasi menetapkan atribut android:exported secara eksplisit untuk semua aktivitas, layanan, penerima siaran, dan terutama penyedia konten.

Hanya komponen aplikasi yang berbagi data dengan aplikasi lain, atau komponen yang harus dipanggil oleh aplikasi lain, yang akan diekspor.

Component_Permissions T-Component_Permissions

Semua intent dan siaran mengikuti praktik terbaik:

Component_Protection T-Component_Protection

Semua komponen yang membagikan konten antar-aplikasi menggunakan android:protectionLevel="signature" untuk izin khusus. Ini termasuk aktivitas, layanan, penerima siaran, dan khususnya penyedia konten.

Aplikasi tidak boleh mengandalkan akses ke daftar paket yang diinstal.

Jaringan

ID Pengujian Deskripsi
Network_Security_Traffic T-Network_Security_Traffic Semua traffic jaringan dikirim melalui SSL.
Network_Security_Configuration T-Network_Security_Configuration Aplikasi mendeklarasikan konfigurasi keamanan jaringan.
Security_Provider_Initialization T-Security_Provider_Initialization Jika aplikasi menggunakan layanan Google Play, penyedia keamanan akan diinisialisasi pada pengaktifan aplikasi.

WebView

ID Pengujian Deskripsi
WebView_Asset_Loader T-WebView_Asset_Loader,
T-WebView_Navigation
Jangan gunakan setAllowUniversalAccessFromFileURLs() untuk mengakses konten lokal. Sebagai gantinya, gunakan WebViewAssetLoader.
WebView_JavaScript T-WebView_JavaScript,
T-WebView_Navigation

Tampilan web tidak menggunakan addJavaScriptInterface() dengan konten yang tidak tepercaya.

Di Android 6.0 (level API 23 dan yang lebih tinggi), gunakan saluran pesan HTML.

Eksekusi

ID Pengujian Deskripsi
App_Bundles T-App_Bundles

Aplikasi tidak secara dinamis memuat kode dari luar APK aplikasi. Gunakan Android App Bundle, yang mencakup Play Feature Delivery dan Play Asset Delivery.

Mulai Agustus 2021, penggunaan Android App Bundle diwajibkan untuk semua aplikasi baru di Google Play Store.

Kriptografi

ID Pengujian Deskripsi
Cryptographic_Algorithms T-Cryptographic_Algorithms Aplikasi menggunakan algoritma kriptografi kuat yang disediakan platform dan generator angka acak. Selain itu, aplikasi tidak menerapkan algoritme khusus.

Google Play

Aktifkan aplikasi Anda agar dipublikasikan di Google Play.

Kebijakan

ID Pengujian Deskripsi
Play_Content_Policies T-Play_Content_Policies Aplikasi secara ketat mematuhi ketentuan Kebijakan Konten Developer Google Play, tidak menawarkan konten yang tidak pantas, dan tidak menggunakan kekayaan intelektual atau merek orang lain.
Play_Content_Rating T-Play_Content_Policies Tingkat kedewasaan aplikasi disetel dengan tepat berdasarkan Pedoman Rating Konten.

Halaman detail aplikasi

ID Pengujian Deskripsi
Play_Feature_Graphic T-Play_Feature_Graphic,
T-Play_Graphic_Assets

Gambar fitur aplikasi mengikuti panduan yang diuraikan dalam artikel dukungan ini. Pastikan bahwa:

  • Listingan aplikasi menyertakan gambar fitur berkualitas tinggi
  • Gambar fitur tidak berisi gambar perangkat, screenshot, atau teks kecil yang tidak terlihat jelas bila diperkecil skalanya dan ditampilkan di layar berukuran terkecil yang menjadi target aplikasi Anda
  • Gambar fitur tidak menyerupai iklan
Play_Device_References T-Play_Graphic_Assets Screenshot dan video aplikasi tidak menampilkan atau mereferensikan perangkat non-Android.
Play_Misleading_Content T-Play_Graphic_Assets Screenshot atau video aplikasi tidak mencerminkan konten dan pengalaman penggunaan aplikasi Anda dengan cara yang keliru.

Dukungan pengguna

ID Pengujian Deskripsi
Play_User_Reviews T-Play_Content_Policies Bug umum yang dilaporkan pengguna dalam tab Ulasan di halaman Google Play dapat diatasi jika bug tersebut berulang dan terjadi di banyak perangkat berbeda. Jika bug terjadi di beberapa perangkat saja, Anda tetap harus mengatasinya jika perangkat tersebut sangat populer atau baru.

Lingkungan pengujian

Siapkan lingkungan pengujian sebagai berikut:

  • Pengujian emulator: Android Emulator adalah cara yang sangat bagus untuk menguji aplikasi Anda pada berbagai resolusi layar dan versi Android. Siapkan perangkat yang diemulasi (AVD) untuk mewakili kombinasi faktor bentuk dan hardware/software paling umum pada basis pengguna target Anda. Uji berbagai faktor bentuk menggunakan emulator berikut (setidaknya):

    • Perangkat foldable: Lipat 7,6 inci dengan layar luar (ini tercantum di bagian ponsel di AVD Manager)
    • Tablet: Pixel C 9,94 inci (2.560 x 1.800 piksel)
    • Pengujian notifikasi aplikasi seluler: Sambungkan perangkat seluler / emulator dengan emulator Wear OS: Wear OS Round 1,84"
  • Perangkat hardware: Lingkungan pengujian Anda harus menyertakan sejumlah kecil perangkat hardware sebenarnya yang mewakili kombinasi hardware/software dan faktor bentuk utama yang tersedia bagi konsumen. Anda tidak perlu melakukan pengujian pada setiap perangkat yang ada di pasar. Fokus pada sejumlah kecil perangkat yang mewakilinya, meskipun menggunakan satu atau dua perangkat untuk setiap faktor bentuk.

  • Lab pengujian perangkat:; Anda juga dapat menggunakan layanan pihak ketiga, seperti Firebase Test Lab, untuk menguji aplikasi pada berbagai perangkat.

  • Uji dengan Android versi terbaru: Selain menguji Android versi perwakilan untuk basis pengguna target, Anda harus selalu menguji dengan Android versi terbaru untuk memastikan perubahan perilaku terbaru tidak berdampak negatif terhadap pengalaman pengguna aplikasi Anda.

Untuk panduan lebih lanjut tentang pengujian, termasuk pengujian unit, pengujian integrasi, dan pengujian UI, lihat Dasar-dasar pengujian aplikasi Android.

StrictMode

Untuk pengujian performa, aktifkan StrictMode di aplikasi Anda. Gunakan StrictMode untuk menangkap operasi yang dapat memengaruhi performa, akses jaringan, serta pembacaan dan penulisan file. Cari operasi yang berpotensi bermasalah, baik di thread utama maupun di thread lain.

Siapkan kebijakan pemantauan per thread menggunakan StrictMode.ThreadPolicy.Builder dan aktifkan semua pemantauan yang didukung di ThreadPolicy menggunakan detectAll().

Aktifkan notifikasi visual pelanggaran kebijakan untuk ThreadPolicy menggunakan penaltyFlashScreen().

Pengujian

Pengujian kualitas aplikasi inti membantu Anda menilai kualitas dasar aplikasi Anda. Anda dapat menggabungkan pengujian atau mengintegrasikan grup pengujian dalam rencana pengujian Anda.

Pengalaman pengguna

Uji pengalaman pengguna yang konsisten dan intuitif.

Kegunaan

ID Fitur Deskripsi
T-Consistent_UX Consistent_UX

Buka semua bagian aplikasi—semua layar, dialog, setelan, dan alur penggunaan.

Lakukan hal berikut:
  • Jika aplikasi memungkinkan pengeditan atau pembuatan konten, permainan game, atau pemutaran media, pastikan untuk menguji alur tersebut.
  • Saat menguji aplikasi, berikan gangguan dari aplikasi lain, seperti menerima notifikasi atau panggilan telepon, lalu terapkan perubahan sementara pada atribut perangkat, seperti konektivitas jaringan, fungsi baterai, ketersediaan GPS, dan muatan sistem.
  • Memasuki dan menguji semua alur pembelian dalam aplikasi
T-App_Switcher App_Switcher Dari setiap layar aplikasi, beralihlah ke aplikasi lain yang sedang berjalan, lalu kembali ke aplikasi yang sedang diuji menggunakan pengalih aplikasi Terbaru.
T-Sleep_Resume Sleep_Resume Tekan tombol daya untuk mengalihkan perangkat ke mode tidur, lalu tekan lagi tombol daya untuk mengaktifkan layar.
T-Lock_Resume Lock_Resume Siapkan kunci layar di perangkat. Tekan tombol daya untuk mengalihkan perangkat ke mode tidur (yang mengunci perangkat). Lalu, tekan lagi tombol daya untuk mengaktifkan layar dan membuka kunci perangkat.

Kartu SD

ID Fitur Deskripsi
T-SD_Card Consistent_UX

Lakukan pengujian fungsi inti dengan aplikasi yang diinstal di kartu SD perangkat (jika aplikasi mendukung metode penginstalan ini).

Untuk memindahkan aplikasi ke kartu SD, lihat Setelan aplikasi.

Antarmuka pengguna

ID Fitur Deskripsi
T-Orientation_Transitions Display_State_Parity,
Fullscreen_Display,
Orientation_Transitions

Dari setiap layar aplikasi, putar perangkat antara orientasi lanskap dan potret, serta status terlipat dan terbentang setidaknya tiga kali.

Pastikan aplikasi melakukan hal berikut:
  • Menyediakan paritas fungsi di semua orientasi tampilan dan status lipatan
  • Mengisi jendela aplikasi dalam semua orientasi tampilan dan status lipatan serta tidak memiliki tampilan lebar
  • Mempertahankan status dan tidak memiliki masalah rendering selama transisi cepat antara orientasi dan tindakan melipat serta membentangkan perangkat

Kualitas visual

ID Fitur Deskripsi
T-Graphic_Quality Graphic_Quality Gunakan semua fitur aplikasi Anda. Pastikan semua visual, termasuk grafis, teks, gambar, dan elemen UI lainnya bebas dari distorsi, blur, atau pikselasi.
T-Line_Length Line_Length

Tinjau semua blok teks di aplikasi. Pastikan panjang baris teks dan blok teks dibatasi hingga 45-75 karakter (termasuk spasi) agar mudah dibaca.

Verifikasi hal berikut:
  • Komposisi dapat diterima di semua faktor bentuk yang didukung
  • Tidak ada huruf atau kata yang terpotong
  • Tidak ada gabungan kata yang tidak benar dalam tombol atau ikon
  • Spasi yang cukup di antara teks dan elemen di sekitarnya
T-Theme_Support Theme_Support Pastikan semua teks dapat dibaca dalam tema terang dan gelap. Pastikan semua visual dapat dibedakan dengan jelas dan estetis dalam tema terang dan gelap.
ID Fitur Deskripsi
T-Back_Nav Back_Button_Nav,
Back_Gesture_Nav

Buka semua bagian aplikasi—semua layar, dialog, setelan, dan alur penggunaan.

Dari setiap layar aplikasi, tekan tombol Kembali atau gunakan gestur geser ke belakang. Aplikasi akan membuka layar sebelumnya atau layar utama.

T-State_Preservation State_Preservation Dari setiap layar aplikasi, tekan tombol Beranda perangkat atau geser ke atas di navigasi gestur, lalu luncurkan kembali aplikasi dari layar Semua Aplikasi.

Notifikasi

ID Fitur Deskripsi
T-Notification_Quality Notification_Quality,
Conversation_Quality
Picu dan amati semua jenis notifikasi yang dapat ditampilkan aplikasi di panel samping notifikasi. Perluas notifikasi jika ada (Android 4.1 dan yang lebih baru), lalu ketuk semua tindakan yang tersedia.

Aksesibilitas

ID Fitur Deskripsi
T-Touch_Target_Size Touch_Target_Size Pastikan target sentuh mempertahankan ukuran dan posisi yang konsisten dan dapat diakses untuk semua ukuran dan konfigurasi tampilan. Untuk mengetahui informasi tentang aksesibilitas, lihat Accessibility Scanner.
T-Visual_Contrast Visual_Contrast Verifikasi kontras semua elemen visual.
T-Content_Description Content_Description Pastikan semua elemen UI selain TextView memiliki deskripsi konten.

Fungsi

Pastikan aplikasi Anda menerapkan perilaku fungsional berikut.

Audio

ID Fitur Deskripsi
T-Audio_Playback_Start Audio_Playback_Start Mulai pemutaran audio. Pastikan dalam waktu satu detik, aplikasi mulai memutar audio atau memberikan indikator visual bahwa data audio sedang disiapkan untuk diputar.
T-Audio_Focus_Request Audio_Focus_Request Mulai pemutaran audio. Aplikasi harus meminta fokus audio. Saat pemutaran audio berhenti, aplikasi harus melepaskan fokus audio (yang terjadi secara otomatis untuk aplikasi yang menargetkan Android 12 (level API 31) dan yang lebih tinggi).
T-Audio_Focus_Change Audio_Focus_Change Mulai pemutaran audio. Mulai pemutaran audio di aplikasi lain. Aplikasi Anda harus merespons perubahan fokus audio dan menghentikan pemutaran audio atau mengurangi volume pemutaran.
T-Audio_Playback_Background Audio_Playback_Background

Mulai pemutaran audio. Berinteraksi dengan aplikasi non-audio lain sebagai aplikasi latar depan. Aplikasi harus terus memutar audio di latar belakang dan harus menampilkan notifikasi di status bar. Pastikan Anda dapat mengelola pemutaran menggunakan kontrol yang ditampilkan di notifikasi.

Kunci layar perangkat. Aplikasi harus terus memutar audio di latar belakang dan harus menampilkan notifikasi di layar kunci. Pastikan Anda dapat mengelola pemutaran menggunakan kontrol yang ditampilkan di notifikasi.

T-Audio_Notification_Style Audio_Notification_Style Mulai pemutaran audio. Berinteraksi dengan aplikasi non-audio lain sebagai aplikasi latar depan. Pastikan aplikasi Anda terus memutar audio di latar belakang dan telah membuat notifikasi dengan gaya MediaStyle. Lihat Bekerja dengan baik dengan kontrol media.
T-Audio_Playback_Resume Audio_Playback_Resume Mulai pemutaran audio. Berinteraksi dengan aplikasi non-audio lain sebagai aplikasi latar depan. Berinteraksi dengan aplikasi Anda untuk menjadikannya aplikasi teratas. Audio akan dilanjutkan atau volume akan dipulihkan. Jika tidak, aplikasi harus menunjukkan kepada pengguna bahwa pemutaran dijeda.

Video

ID Fitur Deskripsi
T-Video_PiP Video_PiP Mengaktifkan pemutaran video aplikasi dalam mode picture-in-picture.
T-Video_Encoding Video_Encoding Verifikasi bahwa aplikasi mengenkode video menggunakan standar kompresi video HEVC.
T-Video_Playback_Background Video_Playback_Background Mulai pemutaran video. Minimalkan jendela aplikasi, buka aplikasi lain untuk memindahkan jendela aplikasi ke latar belakang. Di perangkat yang kompatibel dengan desktop, pindahkan jendela aplikasi dari desktop yang terlihat. Verifikasi bahwa pemutaran video berlanjut tanpa gangguan dalam semua kasus.

Berbagi

ID Fitur Deskripsi
T-System_Sharesheet System_Sharesheet Buat intent dan mulai aktivitas dengan memanggil startActivity() dengan intent sebagai argumen. Lihat Menggunakan Android Sharesheet. Aplikasi Anda harus menampilkan Android Sharesheet.

Layanan latar belakang

ID Fitur Deskripsi
T-Background_Service_Optimization Background_Service_Optimization

Gunakan semua fitur utama aplikasi Anda. Pastikan tidak ada layanan latar belakang yang berjalan lama yang dimulai.

Beralihlah ke aplikasi lain untuk mengirimkan aplikasi Anda ke latar belakang. Buka Setelan, lalu periksa apakah aplikasi Anda masih memiliki layanan yang sedang berjalan saat di latar belakang. Di Android 4.0 dan yang lebih baru, buka layar Aplikasi, lalu temukan aplikasi tersebut di tab Berjalan.

Performa dan stabilitas

Verifikasi performa, stabilitas, dan visual yang sempurna.

Performa

ID Fitur Deskripsi
T-App_Startup_Time App_Startup_Time Mulai aplikasi Anda. Pastikan aplikasi dimuat dengan cepat atau memberikan indikator progres atau tanda serupa jika aplikasi perlu waktu lebih dari dua detik untuk dimuat.
T-Rendering_Performance Rendering_Performance Gunakan semua fitur utama aplikasi Anda. Pastikan aplikasi merender minimal 60 frame per detik. Gunakan opsi Rendering HWUI profil untuk membantu menguji aplikasi Anda.
T-StrictMode_Compliance StrictMode_Compliance

Aktifkan StrictMode di aplikasi Anda. Gunakan semua fitur utama. Pastikan aplikasi tidak menghasilkan peringatan performa StrictMode; artinya, tidak ada kedipan merah yang terlihat saat menguji aplikasi. Kedipan merah menunjukkan perilaku buruk terkait penyimpanan, akses jaringan, atau pengelolaan memori (seperti kebocoran memori).

Perhatikan pembersihan sampah memori dan dampaknya terhadap pengalaman pengguna dengan cermat.

Stabilitas

ID Fitur Deskripsi
T-Stability_ANR Stability_ANR Gunakan semua fitur utama aplikasi Anda. Pastikan aplikasi tidak mengalami error atau memblokir UI thread yang menyebabkan error ANR (Android Not Responding). Tinjau laporan pra-peluncuran Google Play untuk mengidentifikasi potensi masalah stabilitas.

SDK

ID Fitur Deskripsi
T-Android_Platform_Compatibility Android_Platform_Compatibility Jalankan aplikasi Anda di platform Android versi publik terbaru. Gunakan semua fitur utama. Pastikan aplikasi tidak error dan berjalan tanpa kehilangan fungsi inti.
T-Target_SDK_Version Target_SDK_Version,
Compile_SDK_Version
Tinjau file manifes Android dan konfigurasi build untuk memastikan aplikasi dibuat menggunakan SDK terbaru yang tersedia (targetSdk dan compileSdk).
T-SDK_Maintenance SDK_Maintenance Tinjau file build.gradle aplikasi Anda untuk mengetahui dependensi yang sudah tidak berlaku.
T-Non_SDK_Interfaces Non_SDK_Interfaces Gunakan alat lint Android Studio untuk mendeteksi penggunaan antarmuka non-SDK. Lihat Pembatasan pada antarmuka non-SDK untuk metode pengujian alternatif.
T-Production_Build_Quality Production_Build_Quality Tinjau file build.gradle aplikasi Anda untuk mengetahui apakah ada library debug yang disertakan.

Baterai

ID Fitur Deskripsi
T-Power_Management Power_Management

Gunakan semua fitur utama aplikasi dalam mode Istirahatkan dan Aplikasi Standby. Pastikan alarm, timer, notifikasi, dan sinkronisasi berfungsi dengan baik di masa pemeliharaan mode Istirahatkan dan saat aplikasi keluar dari mode Aplikasi Standby.

Uji perilaku fitur Istirahatkan dan Aplikasi Standby menggunakan perintah ADB (lihat Menguji dengan Fitur Istirahatkan dan Aplikasi Standby untuk mengetahui persyaratan dan panduan).

Untuk mendiagnosis pengurasan baterai yang tidak terduga, gunakan Power Profiler Android Studio atau alat Battery Historian yang dikombinasikan dengan pekerjaan latar belakang yang direncanakan.

Privasi dan keamanan

Menguji perlindungan privasi dan keamanan yang diharapkan oleh pengguna.

Izin

ID Fitur Deskripsi
T-Minimize_Permissions Minimize_Permissions Tinjau semua izin yang diperlukan aplikasi Anda, dalam file manifes, saat runtime, dan di setelan aplikasi di perangkat (Setelan > Info Aplikasi).
T-Sensitive_Permissions Sensitive_Permissions Gunakan fitur aplikasi Anda yang meminta izin. Pastikan aplikasi meminta izin untuk mengakses data atau layanan sensitif hanya untuk kasus penggunaan inti aplikasi. Pastikan implikasi pemberian izin ke data dan layanan sensitif dikomunikasikan dengan jelas kepada pengguna.
T-Runtime_Permissions Runtime_Permissions Gunakan semua fitur aplikasi Anda yang memerlukan izin. Pastikan izin diminta secara lambat, yaitu hanya saat fitur diakses, bukan selama pengaktifan aplikasi.
T-Permission_Rationale Permission_Rationale Gunakan semua fitur aplikasi Anda yang memerlukan izin. Pastikan aplikasi menjelaskan kepada pengguna alasan izin diperlukan.
T-Graceful_Degradation Graceful_Degradation Gunakan semua fitur aplikasi Anda yang memerlukan izin. Menolak atau mencabut izin. Pastikan aplikasi menyediakan kasus penggunaan alternatif dan terus berfungsi.

Data dan file

ID Fitur Deskripsi
T-Sensitive_Data_Storage Sensitive_Data_Storage Tinjau semua data yang disimpan dalam penyimpanan internal. Pastikan bahwa data yang disimpan secara eksternal bukan data sensitif.
T-Sensitive_Data_Handling Sensitive_Data_Storage Tinjau cara data yang dimuat dari penyimpanan eksternal ditangani dan diproses.
T-Sensitive_Data_Logging Sensitive_Data_Logging Gunakan semua fitur aplikasi utama sambil memantau log perangkat. Pastikan tidak ada informasi pengguna pribadi yang dicatat.
T-Hardware_IDs Hardware_IDs Gunakan semua fitur utama aplikasi. Verifikasi bahwa aplikasi tidak menggunakan ID hardware apa pun seperti IMEI untuk tujuan identifikasi.

Identitas

ID Fitur Deskripsi
T-Autofill_Hints Autofill_Hints Gunakan semua fitur aplikasi yang memerlukan input pengguna. Verifikasi bahwa aplikasi memberikan petunjuk untuk mengisi otomatis kolom input untuk data seperti kredensial akun dan informasi sensitif lainnya.
T-Credential_Manager Credential_Manager Login ke aplikasi Anda. Verifikasi bahwa aplikasi mengintegrasikan Credential Manager untuk Android untuk pengalaman login yang menyatukan dukungan untuk kunci sandi, identitas gabungan, dan sandi.
T-Biometric_Authentication Biometric_Authentication Gunakan semua fitur aplikasi yang memerlukan autentikasi. Pastikan aplikasi melindungi transaksi keuangan atau informasi sensitif, seperti dokumen pengguna yang penting, dengan autentikasi biometrik.

Komponen aplikasi

ID Fitur Deskripsi
T-Component_Export Component_Export Tinjau semua komponen aplikasi yang ditentukan dalam file manifes Android untuk status ekspor yang sesuai. Properti yang diekspor harus ditetapkan secara eksplisit untuk semua komponen.
T-Component_Permissions Component_Permissions Tinjau semua izin yang diperlukan aplikasi Anda, dalam file manifes, saat runtime, dan di setelan aplikasi di perangkat (Setelan > Info Aplikasi).
T-Component_Protection Component_Protection Tinjau semua penyedia konten yang ditentukan dalam file manifes Android. Pastikan setiap penyedia memiliki protectionLevel yang sesuai.

Jaringan

ID Fitur Deskripsi
T-Network_Security_Traffic Network_Security_Traffic Deklarasikan konfigurasi keamanan jaringan yang menonaktifkan traffic cleartext, lalu uji aplikasi.
T-Network_Security_Configuration Network_Security_Configuration Tinjau konfigurasi keamanan jaringan aplikasi. Pastikan tidak ada pemeriksaan lint saat terjadi kegagalan konfigurasi.
T-Security_Provider_Initialization Security_Provider_Initialization Pastikan penyedia keamanan diinisialisasi saat aplikasi dimulai untuk layanan Google Play.

WebView

ID Fitur Deskripsi
T-WebView_Asset_Loader WebView_Asset_Loader Tinjau konfigurasi keamanan jaringan aplikasi. Pastikan tidak ada pemeriksaan lint saat terjadi kegagalan konfigurasi.
T-WebView_JavaScript WebView_JavaScript Untuk setiap WebView, buka halaman yang memerlukan JavaScript.
T-WebView_Navigation WebView_Asset_Loader,
WebView_JavaScript
Di setiap WebView, coba buka situs dan konten yang tidak dimuat langsung oleh aplikasi Anda.

Eksekusi

ID Fitur Deskripsi
T-App_Bundles App_Bundles Verifikasi bahwa aplikasi menggunakan Android App Bundle dan tidak memuat kode secara dinamis dari luar APK aplikasi.

Kriptografi

ID Fitur Deskripsi
T-Cryptographic_Algorithms Cryptographic_Algorithms Pastikan aplikasi menggunakan algoritma kriptografi dan generator angka acak yang kuat yang disediakan platform. Pastikan juga bahwa aplikasi tidak menerapkan algoritma khusus.

Google Play

Pastikan aplikasi Anda siap untuk Google Play.

Kebijakan

ID Fitur Deskripsi
T-Play_Content_Policies Play_Content_Policies,
Play_Content_Rating,
Play_User_Reviews
Login ke Konsol Google Play untuk meninjau profil developer, deskripsi aplikasi, screenshot, gambar fitur, rating konten, dan masukan pengguna Anda.

Halaman detail aplikasi

ID Fitur Deskripsi
T-Play_Feature_Graphic Play_Feature_Graphic Download gambar fitur dan screenshot, lalu perkecil skalanya agar sesuai dengan ukuran layar perangkat dan faktor bentuk yang Anda targetkan.
T-Play_Graphic_Assets Play_Feature_Graphic,
Play_Device_References,
Play_Misleading_Content
Tinjau semua aset visual, media, teks, library kode, dan konten lainnya yang dipaketkan dalam download aplikasi atau file ekspansi.

Mengarsipkan

Versi sebelumnya dari pedoman kualitas aplikasi inti: