Saat pengguna menelusuri atau menjelajahi aplikasi untuk didownload di Google Play, hasil penelusuran difilter berdasarkan kompatibilitas perangkat. Misalnya, jika suatu aplikasi memerlukan kamera, Google Play tidak akan menampilkan aplikasi pada perangkat yang tidak memiliki kamera. Pemfilteran ini membantu developer mengelola distribusi aplikasi dan membantu memastikan pengalaman terbaik untuk pengguna.
Pemfilteran di Google Play berdasarkan pada beberapa jenis metadata aplikasi dan setelan konfigurasi, termasuk deklarasi manifes, library yang diperlukan, dependensi arsitektur, dan set kontrol distribusi dalam Konsol Google Play, seperti penargetan geografis, harga, dan lain-lain.
Pemfilteran Google Play sebagian berdasarkan pada deklarasi manifes dan aspek lainnya dari framework Android, tetapi perilaku pemfilteran yang sebenarnya berbeda dengan framework tersebut dan tidak terikat pada API level tertentu. Dokumen ini menjelaskan aturan pemfilteran saat ini yang digunakan oleh Google Play.
Cara kerja filter di Google Play
Google Play menggunakan pembatasan filter yang dijelaskan di bawah ini untuk menentukan apakah akan menampilkan aplikasi Anda pada pengguna yang sedang menjelajahi atau menelusuri aplikasi dari Google Play.
Saat menentukan apakah akan menampilkan aplikasi Anda, Google Play memeriksa persyaratan hardware dan software untuk perangkat, operator, lokasi, dan karakteristik lainnya. Kemudian semua itu dibandingkan dengan batasan dan dependensi yang dinyatakan oleh file manifes dan detail publikasi aplikasi.
Jika aplikasi tersebut kompatibel dengan perangkat sesuai aturan filter, Google Play akan menampilkan aplikasi itu kepada pengguna. Jika tidak, Google Play akan menyembunyikan aplikasi Anda dari hasil penelusuran dan penjelajahan kategori, bahkan jika pengguna secara khusus meminta aplikasi dengan mengklik deep link yang mengarah langsung ke ID aplikasi dalam Google Play.
Anda dapat menggunakan kombinasi filter yang tersedia untuk aplikasi. Misalnya, Anda dapat menetapkan persyaratan minSdkVersion
untuk "4"
dan menetapkan smallScreens="false"
di aplikasi, lalu saat mengupload aplikasi ke Google Play, Anda dapat menargetkan negara Eropa (operator) saja. Filter Google Play dengan demikian akan mencegah tersedianya aplikasi pada perangkat yang tidak sesuai dengan ketiga persyaratan ini.
Semua pembatasan pemfilteran dikaitkan dengan versi aplikasi dan dapat berubah dari satu versi ke versi lain. Misalnya, jika pengguna telah menginstal aplikasi Anda dan Anda memublikasikan update yang membuat aplikasi tersebut tidak terlihat oleh pengguna, maka pengguna tidak akan melihat adanya update.
Pemfilteran di situs Google Play
Saat pengguna menjelajahi situs Google Play, mereka dapat melihat semua aplikasi yang dipublikasikan. Situs Google Play membandingkan persyaratan aplikasi dengan setiap perangkat pengguna yang terdaftar untuk mengetahui kompatibilitasnya, dan hanya mengizinkan penginstalan aplikasi yang kompatibel dengan perangkat mereka.
Pemfilteran berdasarkan manifes aplikasi
Sebagian besar filter dipicu oleh elemen dalam file manifes aplikasi, AndroidManifest.xml (meskipun tidak semua yang ada dalam file manifes dapat memicu pemfilteran). Tabel 1 mencantumkan elemen manifes yang harus Anda gunakan untuk memicu pemfilteran, dan menjelaskan cara kerja pemfilteran untuk masing-masing elemen.
Elemen Manifes | Nama Filter | Cara Kerja |
---|---|---|
<supports-screens>
|
Ukuran Layar |
Aplikasi menunjukkan ukuran layar yang dapat didukung dengan menetapkan atribut elemen Sebagai aturan umum, Google Play mengasumsikan bahwa platform pada perangkat dapat menyesuaikan layout yang lebih kecil ke layar yang lebih besar, tetapi tidak dapat menyesuaikan layout yang lebih besar ke layar yang lebih kecil. Jadi, jika sebuah aplikasi mendeklarasikan dukungan hanya untuk ukuran layar "normal", Google Play membuat aplikasi tersedia untuk perangkat dengan layar normal dan layar besar, tetapi memfilter aplikasi sehingga tidak tersedia untuk perangkat dengan layar kecil. Jika aplikasi tidak mendeklarasikan atribut untuk
Contoh 1 Contoh 2 Contoh 3 Untuk informasi selengkapnya tentang cara mendeklarasikan dukungan ukuran layar di aplikasi Anda, lihat |
<uses-configuration>
|
Konfigurasi Perangkat: keyboard, navigasi, layar sentuh |
Aplikasi dapat meminta fitur hardware tertentu, dan Google Play hanya akan menampilkan aplikasi pada perangkat yang memiliki hardware yang diperlukan. Contoh 1 Contoh 2 Untuk detail selengkapnya, lihat |
<uses-feature>
|
Fitur Perangkat ( name ) |
Aplikasi dapat meminta fitur perangkat tertentu ada pada perangkat. Fungsi ini diperkenalkan di Android 2.0 (API Level 5). Contoh 1 Contoh 2 Untuk mengetahui informasi selengkapnya, lihat Pemfilteran berdasarkan fitur tersirat: Dalam beberapa kasus, Google
Play menafsirkan izin yang diminta melalui
elemen |
Versi OpenGL-ES ( openGlEsVersion ) |
Aplikasi dapat meminta perangkat mendukung versi OpenGL-ES tertentu menggunakan atribut Contoh 1 Contoh 2 Contoh 3 Contoh 4 Untuk detail selengkapnya, lihat |
|
<uses-library> |
Library Software | Aplikasi dapat meminta library bersama tertentu harus ada pada perangkat. Contoh 1 Contoh 2 Untuk detail selengkapnya, lihat |
<uses-permission> |
Secara ketat, Google Play tidak memfilter berdasarkan elemen Secara umum, jika aplikasi meminta izin terkait hardware, Google Play menganggap aplikasi tersebut memerlukan fitur hardware tersebut, meskipun mungkin tidak terkait dengan deklarasi Untuk daftar izin yang menyiratkan fitur hardware, lihat dokumentasi untuk elemen |
|
<uses-sdk> |
Versi Framework Minimum (minSdkVersion ) |
Aplikasi bisa meminta API level minimum. Contoh 1 Contoh 2 Karena ingin menghindari skenario kedua ini, sebaiknya Anda selalu mendeklarasikan |
Versi Framework Maksimum (maxSdkVersion ) |
Tidak digunakan lagi. Android 2.1 dan yang lebih baru tidak memeriksa atau menerapkan atribut Mendeklarasikan |
Pemfilteran manifes lanjutan
Selain elemen manifes dalam tabel 1, Google Play juga dapat memfilter aplikasi berdasarkan elemen manifes lanjutan dalam tabel 2.
Elemen manifes ini dan pemfilteran yang dipicunya hanya untuk kasus penggunaan pengecualian. Elemen manifes ini didesain untuk jenis game berperforma tinggi tertentu dan aplikasi serupa yang memerlukan kontrol ketat pada distribusi aplikasi. Umumnya, aplikasi tidak perlu menggunakan filter ini.
Elemen Manifes | Ringkasan |
---|---|
<compatible-screens> |
Google Play memfilter aplikasi jika ukuran layar perangkat dan kepadatannya tidak sesuai dengan konfigurasi layar apa pun (dideklarasikan oleh elemen Perhatian: Biasanya, Anda tidak perlu menggunakan elemen manifes ini. Menggunakan elemen ini dapat mengurangi basis pengguna potensial aplikasi Anda secara dramatis, dengan mengecualikan semua kombinasi ukuran layar dan kepadatan yang tidak Anda cantumkan. Sebaiknya gunakan elemen manifes |
<supports-gl-texture> |
Google Play akan memfilter aplikasi kecuali jika satu atau beberapa format kompresi tekstur GL yang didukung oleh aplikasi juga didukung oleh perangkat. |
Filter lainnya
Google Play menggunakan karakteristik aplikasi untuk menentukan apakah harus menampilkan atau menyembunyikan aplikasi untuk pengguna tertentu pada perangkat tertentu, seperti dijelaskan dalam tabel di bawah ini.
Nama Filter | Cara Kerja |
---|---|
Status Publikasi | Hanya aplikasi yang telah dipublikasikan yang akan muncul dalam penelusuran dan penjelajahan dalam Google Play. Meski aplikasi tidak dipublikasikan, aplikasi dapat diinstal jika pengguna dapat melihatnya di area Download di antara aplikasi yang dibeli, diinstal, atau di-uninstal. Jika aplikasi ditangguhkan, pengguna tidak akan dapat menginstal ulang atau mengupdate aplikasi tersebut, meskipun muncul di bagian Download. |
Status Harga | Tidak semua pengguna dapat melihat aplikasi berbayar. Untuk menampilkan aplikasi berbayar, perangkat harus menjalankan Android 1.1 atau yang lebih baru, dan harus berada di negara yang menyediakan aplikasi berbayar. Jika perangkat memiliki kartu SIM, operator SIM menentukan apakah aplikasi berbayar tersedia atau tidak. Jika perangkat tidak memiliki kartu SIM, alamat IP perangkat digunakan untuk menentukan apakah perangkat tersebut berada di negara yang menyediakan aplikasi berbayar atau tidak. |
Penargetan Negara | Saat Anda mengupload aplikasi ke Google Play, Anda dapat memilih negara tempat mendistribusikan aplikasi di bagian Harga dan Distribusi. Aplikasi tersebut kemudian akan tersedia untuk pengguna di negara-negara yang Anda pilih saja. |
Arsitektur CPU (ABI) | Aplikasi yang menyertakan library native yang menargetkan arsitektur CPU tertentu (misalnya ARM EABI v7 atau x86) hanya terlihat di perangkat yang mendukung arsitektur tersebut. Untuk detail tentang NDK dan penggunaan library native, lihat Apa yang dimaksud Android NDK? |
Aplikasi yang Dilindungi dari Penyalinan | Google Play tidak lagi mendukung fitur Perlindungan dari Penyalinan di Konsol Play dan tidak lagi memfilter aplikasi berdasarkan fitur tersebut. Sebagai gantinya, untuk mengamankan aplikasi Anda, gunakan Lisensi Aplikasi. Lihat Pengganti untuk Perlindungan dari Penyalinan untuk mengetahui informasi selengkapnya. |
Memublikasikan beberapa APK dengan filter berbeda
Beberapa filter Google Play tertentu memungkinkan Anda untuk memublikasikan beberapa APK untuk aplikasi yang sama guna menyediakan APK yang berbeda untuk konfigurasi ponsel yang berbeda. Misalnya, jika Anda membuat video game yang menggunakan aset visual high-fidelity, Anda mungkin membuat dua APK yang masing-masing mendukung format kompresi tekstur berbeda. Dengan cara ini, Anda dapat mengurangi ukuran file APK hanya dengan memasukkan tekstur yang diperlukan untuk masing-masing konfigurasi ponsel. Bergantung pada masing-masing dukungan perangkat untuk format kompresi tekstur Anda, Google Play akan memberinya APK yang telah Anda deklarasikan untuk mendukung perangkat tersebut.
Saat ini, Google Play memungkinkan Anda untuk memublikasikan beberapa APK untuk aplikasi yang sama hanya ketika masing-masing APK menyediakan filter yang berbeda berdasarkan konfigurasi berikut:
- Format kompresi tekstur OpenGL
Menggunakan elemen
<supports-gl-texture>
. - Ukuran layar (dan, secara opsional, kepadatan layar)
Menggunakan elemen
<supports-screens>
atau<compatible-screens>
. - API level
Dengan menggunakan elemen
<uses-sdk>
. - Arsitektur CPU (ABI)
Dengan menyertakan library native yang dibuat menggunakan Android NDK yang menargetkan arsitektur CPU tertentu (misalnya ARM EABI v7 atau x86).
Semua filter lain tetap berfungsi seperti biasa, tetapi keempat filter tersebut adalah satu-satunya filter yang dapat membedakan satu APK dari yang lain dalam listingan aplikasi yang sama di Google Play. Misalnya, Anda tidak dapat memublikasikan beberapa APK untuk aplikasi yang sama jika APK tersebut hanya dibedakan berdasarkan apakah perangkat memiliki kamera atau tidak.
Perhatian: Memublikasikan beberapa APK untuk aplikasi yang sama dianggap sebagai fitur lanjutan dan kebanyakan aplikasi hanya akan memublikasikan satu APK yang mendukung berbagai konfigurasi ponsel. Memublikasikan beberapa APK mengharuskan Anda mengikuti aturan tertentu dalam filter dan lebih memperhatikan kode versi untuk setiap APK guna memastikan jalur update yang sesuai bagi setiap konfigurasi.
Jika memerlukan informasi selengkapnya tentang cara memublikasikan multi-APK di Google Play, baca Dukungan Multi-APK.