<özelliği-kullanır>

Google Play, <uses-feature> özelliğini kullanır Uygulamanızı cihazlardan filtrelemek için uygulama manifestinizde belirtilen öğeler cihazlar dahil, ancak bunlarla sınırlı kalmamak üzere

Uygulamanızın gerektirdiği özellikleri belirterek Google Play'in, uygulamanızı yalnızca uygulama özelliklerini sunmak yerine bu uygulamanın özellik gereksinimlerini karşılaması tüm kullanıcılara sunabilirsiniz.

Çevik yaklaşımın nasıl Google Play, filtreleme için temel olarak özellikleri kullanır. Google Play ve özellik tabanlı filtreleme bölümüne bakın.

söz dizimi:
<uses-feature
  android:name="string"
  android:required=["true" | "false"]
  android:glEsVersion="integer" />
bulunduğu yer:
<manifest>
description:

tarafından kullanılan tek bir donanım veya yazılım özelliğini tanımlar bir uygulamadır.

<uses-feature> beyanı, kullandığınız donanım ve yazılım özelliklerinin herhangi bir harici tüzel kişiliği biraz zaman alır. Bu öğe, aşağıdaki özelliklere sahip bir required özelliği sunmaktadır: uygulamanızın, bu özellik olmadan çalışması gerekip gerekmediğini ve veya belirtilen özelliğe sahip olmayı tercih ediyor ancak soru sormaz.

Özellik desteği Android cihazlara göre değişebileceğinden, <uses-feature> öğesi, bir reklamın kullandığı cihaz değişkeni özelliklerini tanımlaması.

Uygulamanızın beyan ettiği kullanılabilir özellikler grubu Android PackageManager tarafından kullanıma sunulan özellik sabitleri kümesi. Özellik sabitleri Özellik referansı bölümü bu belgeyi kontrol edin.

Her özelliği ayrı bir <uses-feature> içinde belirtmeniz gerekir. öğesi içerir. Uygulamanız birden fazla özellik gerektiriyorsa, birden çok <uses-feature> öğesi. Örneğin, Yeşil Ofis hem Bluetooth hem de kamera özellikleri gerektiren olduğunu beyan ederse şu iki öğeyi içerir:

<uses-feature android:name="android.hardware.bluetooth" android:required="true" />
<uses-feature android:name="android.hardware.camera.any" android:required="true" />

Genel olarak, özellikleri için <uses-feature> en iyi uygulamaları görelim.

Bildirilen <uses-feature> öğeleri yalnızca bilgi amaçlıdır, yani Android sisteminin kendisinin eşleşen özellik desteğini kontrol edip etmediğini uygulama yüklemeniz gerekir.

Ancak diğer hizmetler, ve uygulamalar, uygulamanızın bilgilerini kontrol edebilir ve İşleme veya etkileşimin parçası olarak <uses-feature> bildirim bir kontrol noktası görevi görebilir. Bu nedenle, tüm hak taleplerinizi özellikler.

Bazı özellikler için, projenizin özelinde özelliğinin bir sürümü, örneğin kullanılan Open GL sürümü ( glEsVersion) tıklayın. Bunu yapan veya yapmayan diğer özellikler kamera gibi bir cihaz için mevcut olanlar name özelliğine sahip.

<uses-feature> öğesi yalnızca API Düzeyi 4 veya sonraki sürümleri çalıştıran cihazlarda minSdkVersion 3 veya daha küçüktür. Platformun eski sürümlerini çalıştıran cihazlar yoksayar için geçerlidir.

Not: Bir özelliği beyan ederken şunu unutmayın: ve gerektiği şekilde izin de istemeniz gerekir. Örneğin, elektrik işleri için CAMERA için istekte bulunabilirsiniz ve kamera API'sine erişmeden önce izin almanız gerekir. izni, uygulamanızın uygun donanıma erişmesine ve daha fazla bilgi edineceksiniz. Uygulamanızda kullanılan özellikleri beyan etmeniz, uygulamanızın cihaz uyumluluğu.

özellikler:
android:name
. Uygulama tarafından kullanılan tek bir donanım veya yazılım özelliğini belirtir. kullanabilirsiniz. Geçerli özellik değerleri Donanım özellikleri ve Yazılım'da listelenmiştir. özellikler bölümlerini inceleyin. Bu özellik değerleri büyük/küçük harfe duyarlıdır.
android:required
.
Uygulamanın bu özelliği gerektirip gerektirmediğini gösteren boole değeri android:name içinde belirtilir.
  • Bir özellik için android:required="true" tanımlanması şu anlama gelir: uygulama çalışamıyor veya çalışmak üzere tasarlıyorsa, belirtilen özellik olanak tanır.
  • Bir özellik için android:required="false" tanımlanması şu anlama gelir: Uygulama, aşağıdaki cihazlarda özelliği kullanırsa cihazın, belirtilmemiş özelliğini kullanın.

android:required için varsayılan değer: "true".

android:glEsVersion
Uygulamanın gerektirdiği OpenGL ES sürümü. Yüksek 16 bit büyük sayıyı, alttaki 16 bit ise alt sayıyı temsil eder. Örneğin, Örneğin, OpenGL ES sürüm 2.0'ı belirtmek için değeri "0x00020000" veya OpenGL ES 3.2'yi belirtmek için değeri "0x00030002" olarak ayarlarsınız.

Bir uygulama en fazla bir android:glEsVersion belirtiyor özelliğini gönderin. Birden fazla değer belirtiyorsa Sayısal olarak en yüksek değere sahip android:glEsVersion kullanılır ve diğer değerler yoksayılır.

Uygulama bir android:glEsVersion belirtmezse özelliğiyle birlikte, uygulamanın yalnızca OpenGL ES 1.0, Android destekli tüm cihazlarda desteklenir.

Bir uygulama, platformun belirli bir OpenGL ES'yi desteklemesi halinde bunu varsayabilir aynı zamanda sayısal olarak daha düşük tüm OpenGL ES sürümlerini destekler. Dolayısıyla, hem OpenGL ES 1.0 hem de OpenGL ES 2.0 gerektiren bir uygulama, için OpenGL ES 2.0 gerekiyor.

Birkaç OpenGL ES sürümünden herhangi biriyle çalışabilen bir uygulama için yalnızca gereken OpenGL ES'nin sayısal en düşük sürümünü belirtin. Google çalışma zamanında daha yüksek bir OpenGL ES düzeyi olup olmadığını kontrol edebilir.

Desteklenen OpenGL ES'nin nasıl kontrol edileceği de dahil olmak üzere OpenGL ES'yi kullanma hakkında daha fazla bilgi için sürümü hakkında daha fazla bilgi için OpenGL ES API kılavuzu.

tanıtıldığı yer:
API Düzeyi 4
ayrıca bkz.:

Google Play ve özellik tabanlı filtreleme

Google Play, kullanıcılara görünen uygulamaları filtreler. kullanıcılar yalnızca erişim izni isteyebilir. Uygulamaları filtreleme yöntemlerinden biri, uyumluluk.

Bir uygulamanın, belirli bir kullanıcının Google Play şunları karşılaştırır:

  • Şu belgede belirtildiği şekilde, uygulamanın gerektirdiği özellikler: Uygulamanın manifest dosyasındaki <uses-feature> öğeleri.
  • Raporlandığı gibi cihazda, donanım veya yazılımda bulunan özellikler salt okunur sistem özelliklerini kullanarak.

Android Package Manager, özellikleri doğru bir şekilde karşılaştırmak için hem uygulamaların hem de cihazların birbirine entegre olduğu ortak bir özellik sabitleri kümesi sağlar. özelliklerini beyan etmek için kullanabilirsiniz. Kullanılabilir özellik sabitleri Özellik referansı bölümünde listelenenler bu dokümanda ve sınıf dokümanlarında PackageManager.

Kullanıcı Google Play'i başlattığında, uygulama paket yöneticisini arayın ve getSystemAvailableFeatures() İlgili içeriği oluşturmak için kullanılan Mağaza uygulaması daha sonra özellik listesini Google Play'e iletir karar vermektir.

Google Play Console'a her uygulama yüklediğinizde Google Play, uygulamanın manifest dosyasını tarar. Şunu arar: <uses-feature> öğe ve bunları birlikte değerlendirir. bazı durumlarda <uses-sdk> ve <uses-permission> öğeleri. veya uygulamaya konduktan sonra, bu listeyi dahili olarak uygulama APK'sı ve uygulamayla ilişkili meta veriler sürümünü değil.

Bir kullanıcı Google Play'i kullanarak uygulamaları aradığında veya uygulamalara göz attığında hizmet, her uygulamanın ihtiyaç duyduğu özellikleri, o uygulamanın Kullanıcının cihazında kullanılabilir özellikler. Başvuru için gereken tüm cihazda yüklü olması durumunda, Google Play, kullanıcının indirme ihtimali de vardır.

Gerekli özelliklerin hiçbiri Google Play, uygulamayı cihaz tarafından desteklenmiyorsa kullanıcı tarafından görülebilmesi veya indirilmeye hazır olması gerekir.

Çünkü <uses-feature> ürününde beyan ettiğiniz özellikler öğesi, Google Play'in uygulamanızı filtreleme şeklini doğrudan Google Play'in, uygulamanızın manifest dosyasını nasıl değerlendirdiğini anlamak için ve gerekli özellikleri belirler. Aşağıdaki bölümlerde daha fazla bilgi ekleyebilirsiniz.

Açıkça beyan edilen özelliklere göre filtreleme

Açıkça beyan edilen özellik, uygulamanızın <uses-feature> öğesi. Özellik beyanı şunları içerebilir: android:required=["true" | "false"] özelliği API düzeyi 5 veya üstüne göre derlemek.

Böylece, uygulama bu özelliği gerektirir ve o ("true") veya özelliği kullanıyor kullanılabiliyorsa ancak onlar olmadan çalışacak şekilde tasarlanmış ("false").

Google Play, açıkça beyan edilen özellikleri şu şekilde işler:

  • Aşağıda gösterildiği gibi, bir özelliğin gerekli olduğu açıkça belirtilmişse Örneğin Google Play, uygulama için gerekli özellikler listesine eklemek. O zaman uygulamayı, bu özelliği sağlamayan cihazlardaki kullanıcılardan filtreler.
    <uses-feature android:name="android.hardware.camera.any" android:required="true" />
    
    .
  • Aşağıdaki örnekte gösterildiği gibi, bir özelliğin zorunlu olmadığını açıkça belirtilmişse aşağıdaki örnekte, Google Play, bu özelliği gerekli özellikler listesine eklemez. Örneğin, Bu nedenle, açıkça beyan edilen zorunlu olmayan bir özellik, ve uygulamayı filtrelemeyi deneyin. Cihaz, beyan edilen beyannameyi sağlamasa bile özelliği ile birlikte, Google Play bu uygulamayı Google Play ile uyumlu göstermenizi sağlar ve başka filtreleme kuralları geçerli değilse bunu kullanıcıya gösterir.
    <uses-feature android:name="android.hardware.camera" android:required="false" />
    
    .
  • Bir özellik açıkça belirtilmişse ancak android:required özelliği varsa Google Play bu özelliğin gerekir ve filtrelemeyi ayarlar.

Genel olarak, uygulamanız Android 1.6 ve önceki sürümlerde çalışacak şekilde tasarlandıysa android:required özelliği ve Google Play, tüm bu zorunlulukların <uses-feature> beyan zorunludur.

Not: Bir özelliği açık bir şekilde beyan ederek bir android:required="false" özelliği de dahil olmak üzere belirtilen özellik için Google Play'de tüm filtrelemeyi etkin bir şekilde devre dışı bırakabilir.

Örtülü özelliklere göre filtrele

Dolaylı özellik, bir uygulamanın doğru bir şekilde çalışıp düzgün bir şekilde çalışır, ancak Manifest dosyasında <uses-feature> öğesi. Kesinlikle Ancak her uygulamanın, gerekli olan tüm özellikleri her zaman beyan etmesi en iyisidir. tarafından kullanılan bir özellik için bir beyanın bulunmaması ve uygulaması bir hata olarak değerlendirilebilir.

Ancak, kullanıcılar ve içerik üreticiler için geliştirirken, Google Play her uygulamada örtülü özellikler arar ve yaptığı gibi bu özellikler için de filtreler beyan edilen özellikler.

Bir uygulamada özellik gerekebilir, ancak bu özellik aşağıdaki gibi nedenlerle beyan edilmeyebilir:

  • Uygulama, Android kitaplığının eski bir sürümüne karşı derlenmiş (Android 1.5 veya önceki sürümler) için <uses-feature> öğesi geçerli değildir. kullanılabilir.
  • Geliştirici, bu özelliğin şu anda tüm cihazlarda mevcut olduğunu yanlış bir şekilde varsayıyor cihaz ve beyan gerekmez.
  • Geliştirici, özellik beyanını yanlışlıkla atlar.
  • Geliştirici, özelliği açıkça beyan etmiş ancak beyan doğru değil geçerlidir. Örneğin, <uses-feature> öğe adı veya android:name özelliği, özellik beyanını geçersiz kılar.

Google Play bu durumları hesaba katmak için bir diğer unsurları inceleyerek uygulamanın ima edilen özellik gerekliliklerini manifest dosyasında belirtilen dosya, <uses-permission> öğeleri.

Bir uygulama, donanımla ilgili izinler isterse Google Play uygulamanın altyapıdaki donanım özelliklerini kullandığını ve uygulamanın Bu nedenle, bu özellikler karşılık gelen <uses-feature> beyanları. Bu tür Google Play, temel donanım özelliklerini meta verileri kullanır ve bunlarla ilgili filtreler oluşturur.

Örneğin, bir uygulama CAMERA izni isterse Google Play, uygulamanın ilk kullanım için bile bir arka (dünyaya bakan) kamera gerektirdiğini uygulama,<uses-feature> android.hardware.camera. Bunun sonucunda, Google Play cihazları filtreler. sahip değil.

Google Play'in ima edilen belirli bir nesneye göre filtreleme yapmasını istemiyorsanız özelliğini kullanıyorsanız, ilgili özelliği <uses-feature> öğesini ekleyin ve android:required="false" özelliğini ekleyin. Örneğin, örneğin, CAMERA izninin belirttiği filtrelemeyi devre dışı bırakmak için aşağıdaki özellikleri bildirmeniz gerekir:

<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />

Dikkat: İstekte bulunduğunuz izinler <uses-permission> öğeleri, Google'ın Play, uygulamanızı filtreler. İlgili içeriği oluşturmak için kullanılan Özellik şartlarını ima eden izinler bölümünde, bir dizi izin, özellik gereksinimlerini ima eden ve bu nedenle filtre uygulayabilirsiniz.

Bluetooth özelliği için özel işleme

Google Play, aşağıdaki durumlarda önceki örnekte açıklanandan biraz farklı kurallar uygular: ve Bluetooth için filtrelemeyi belirleme.

Bir uygulama, <uses-permission> öğesi ancak açıkça belirtmeyen <uses-feature> öğesinde Bluetooth özelliği, Google Play, uygulamanın yüklü olduğu Android platformunun sürümlerini kontrol eder <uses-sdk> öğesinde belirtildiği gibi çalışacak şekilde tasarlanır.

Aşağıdaki tabloda gösterildiği üzere Google Play, Bluetooth özelliği yalnızca, uygulama en düşük platformda Android 2.0 (API düzeyi 5) veya sonraki sürümler yüklü olmalıdır. Ancak Google'ın Play, uygulama açık bir şekilde olduğunda filtreleme için normal kuralları uygular Bluetooth özelliğini bir <uses-feature> öğesinde açıklar.

Tablo 1. Google Play, Play Store'daki Bluetooth isteğinde bulunan bir uygulama için Bluetooth özelliği gereksinimi Bluetooth özelliğini bir <uses-feature> öğesi.

minSdkVersion değeri: ve targetSdkVersion Sonuç
<=4 veya <uses-sdk> bildirilmemiş <=4 Google Play, uygulamayı hiçbir cihazdan filtrelemez android.hardware.bluetooth için bildirdikleri desteğe göre özelliğini kullanabilirsiniz.
<=4 >=5 Google Play, android.hardware.bluetooth özelliğini desteklemeyen tüm cihazlardan uygulamayı filtreler ( eski sürümler için) ekleyebilirsiniz.
>=5 >=5

Aşağıdaki örneklerde, performansa bağlı olarak farklı filtreleme efektleri Google Play, Bluetooth özelliğiyle ilgilenir.

İlk örnekte, daha eski API düzeylerinde çalışacak şekilde tasarlanmış bir uygulama bir Bluetooth izni beyan ediyor, ancak <uses-feature> öğesi.
Sonuç: Google Play, uygulamayı hiçbir cihazdan filtrelemez.
ziyaret edin.
'nı inceleyin.
<manifest ...>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-sdk android:minSdkVersion="3" />
    ...
</manifest>
İkinci örnekte, aynı uygulama aynı zamanda bir hedef de API düzeyi "5".
Sonuç: Google Play artık özelliğin gerekli olduğunu varsayıyor ve uygulamayı, Bluetooth desteğini bildirmeyen tüm cihazlardan filtreler, Buna platformun eski sürümlerini çalıştıran cihazlar dahildir.
ziyaret edin.
'nı inceleyin.
<manifest ...>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="5" />
    ...
</manifest>
Burada, aynı uygulama artık Bluetooth özelliğini özel olarak tanımlamaktadır.
Sonuç: Önceki örnekle aynıdır: Filtreleme uygulanır.
ziyaret edin.
'nı inceleyin.
<manifest ...>
    <uses-feature android:name="android.hardware.bluetooth" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="5" />
    ...
</manifest>
Son olarak, aşağıdaki örnekte, aynı uygulama android:required="false" özelliği.
Sonuç: Google Play, Bluetooth'a dayalı filtrelemeyi devre dışı bırakır özellik desteğini kullanabilirsiniz.
<manifest ...>
    <uses-feature android:name="android.hardware.bluetooth" android:required="false" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="5" />
    ...
</manifest>

Uygulamanızın gerektirdiği özellikleri test etme

Android SDK'sında bulunan aapt2 aracını kullanarak: Google Play'in uygulamanızı, beyan edilen kriterlere göre nasıl filtrelediğini belirleyin özelliklerini ve izinlerini verir. Bunun için dump badging komutuyla aapt2 komutunu çalıştırın. Bu, aapt2 öğesinin ve Google Play tarafından kullanılan kurallarla aynı değişiklikleri uygulamalı ve uygulamanızın gerektirdiği özellikleri belirler.

Aracı kullanmak için aşağıdaki adımları izleyin:

  1. Uygulamanızı imzasız bir APK olarak derleyin ve dışa aktarın. Android Studio'da geliştirme yapıyorsanız uygulamanızı Gradle ile aşağıdaki gibi derleyin:
    1. Projeyi açın ve Çalıştır > Yapılandırmaları Düzenleyin.
    2. Çalıştır/Hata Ayıklama sayfasının sol üst köşesindeki artı işaretini seçin. Configurations (Yapılandırmalar) penceresindeki değişiklikleri seçin.
    3. Gradle'ı seçin.
    4. "İmzasız APK" yazın Name (Ad) alanında.
    5. Gradle projesi bölümünden modülünüzü seçin.
    6. "Assemble" yazın Görevler'de bulabilirsiniz.
    7. Yeni yapılandırmayı tamamlamak için Tamam'ı seçin.
    8. İmzalanmamış APK çalıştırma yapılandırmasının seçildiğinden emin olun tıklayın ve ardından Çalıştır > "İmzasız APK" dosyasını çalıştırın.
    ziyaret edin. İmzalanmamış APK'nızı şurada bulabilirsiniz: <ProjectName>/app/build/outputs/apk/ dizini.
  2. PATH yolunda yoksa aapt2 aracını bulun. SDK Araçları r8 veya üstünü kullanıyorsanız aapt2 öğesini şurada bulabilirsiniz: <SDK>/build-tools/<tools version number> dizin.

    Not: Kullanıma sunulan en yeni Derleme Araçları bileşeni için sağlanan aapt2. Eğer En son Derleme Araçları bileşenine sahip değilseniz Android SDK Yöneticisi'ni kullanarak indirin.

  3. aapt2 öğesini şu söz dizimini kullanarak çalıştırın:
$ aapt2 dump badging <path_to_exported_.apk>

Gösterilen ikinci Bluetooth örneği için komut çıkışı örneğini burada bulabilirsiniz daha önce:

$ ./aapt2 dump badging BTExample.apk
package: name='com.example.android.btexample' versionCode='' versionName=''
uses-permission:'android.permission.BLUETOOTH_ADMIN'
uses-feature:'android.hardware.bluetooth'
sdkVersion:'3'
targetSdkVersion:'5'
application: label='BT Example' icon='res/drawable/app_bt_ex.png'
launchable activity name='com.example.android.btexample.MyActivity'label='' icon=''
uses-feature:'android.hardware.touchscreen'
main
supports-screens: 'small' 'normal' 'large'
locales: '--_--'
densities: '160'

Özellik referansı

Aşağıdaki bölümlerde donanım özellikleri hakkında referans bilgileri sağlanmaktadır, belirli bir özelliği ima eden izin kümeleri, gereksinimlerini karşılayın.

Donanım özellikleri

Bu bölümde, Google Ads tarafından desteklenen oldukça önemlidir. Uygulamanızın donanım kullandığını veya donanım gerektirdiğini belirtmek özellik, karşılık gelen değeri tanımlayın, "android.hardware", android:name özelliğinde yer alır. Bir donanım özelliğini her bildirdiğinizde, <uses-feature> öğesi.

Ses donanımı özellikleri

android.hardware.audio.low_latency
. Uygulama, cihazın düşük gecikmeli ses ardışık düzenini kullanır. Bu da gecikmeyi ve Ses girişi veya çıkışı işlenirken gecikmeler.
android.hardware.audio.output
. Uygulama cihazın hoparlörlerini, ses jakını, Bluetooth'unu kullanarak ses iletiyor veya benzer bir mekanizma.
android.hardware.audio.pro
. Uygulama, cihazın üst düzey ses işlevini ve performansını kullanır özellikler.
android.hardware.microphone
. Uygulama, cihazın mikrofonunu kullanarak ses kaydeder.

Bluetooth donanım özellikleri

android.hardware.bluetooth
. Uygulama, genellikle cihazlarla iletişim kurmak için cihazın Bluetooth özelliklerini kullanır. diğer Bluetooth özellikli cihazlar.
android.hardware.bluetooth_le
. Uygulama, cihazın Bluetooth Düşük Enerji radyo özelliklerini kullanır.

Kamera donanım özellikleri

Not: Uygulamanızın gereksiz yere filtrelenmesini önlemek için Google Play'de tüm kamera özelliklerine android:required="false" ekleyin düzgün çalışmayacaktır. Aksi takdirde Google Play, özelliğin gerekir ve özelliği desteklemeyen cihazların uygulamasını indirin.

Büyük ekran desteği

Bazı büyük ekranlı cihazlar tüm kamera özelliklerini desteklemez. Chromebook'lar genellikle arkaya (dünyaya bakan) kamera, otomatik odaklama veya flaşa sahip değildir. Ama Chromebook'ların ön (kullanıcıya yönelik) kameraları vardır ve bunlar genellikle harici kameralar.

Temel kamera desteği sağlamak ve uygulamanızı mümkün olduğunca cihazlar için aşağıdaki kamera özelliği ayarlarını uygulamanıza ekleyin manifesto:

<uses-feature android:name="android.hardware.camera.any" android:required="false" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />

Özellik ayarlarını, uygulamanızın kullanım alanlarını destekleyecek şekilde düzenleyin. Ancak daha önce uygulamanızı en fazla sayıda cihazda kullanılabilmesini sağlayın; Bir özelliğin başarılı olup olmadığını açıkça belirtmek için required özelliğini mutlaka olması gerekir.

Özellik listesi
android.hardware.camera.any

Uygulama, cihazın kameralarından birini veya için geçerlidir. android.hardware.camera yerine bu özelliği kullanın veya uygulamanız yoksa android.hardware.camera.front kameranın arkaya (dünya) veya ön (kullanıcı) odaklı olmasını zorunlu kılma, tıklayın.

CAMERA izni, uygulamanızın aynı zamanda şunları da kullandığını belirtir: android.hardware.camera. Arka kamera gereklidir android.hardware.camera özelliği android:required="false".

android.hardware.camera

Uygulama, cihazın arka (dünyaya bakan) kamerasını kullanır.

Dikkat: Aşağıdaki cihazlarda, Chromebook'lar gibi yalnızca ön (kullanıcıya yönelik) kamera bu özelliği desteklemez. Tekliflerinizi otomatikleştirmek ve optimize etmek için Uygulamanız herhangi bir kamerayı kullanabiliyorsa android.hardware.camera.any, kameranın baktığı yön ne olursa olsun.

Not: CAMERA izni, arka kameranın gerekli bir özellik olduğu anlamına gelir. Bir projenin uygulama manifest dosyanız Google Play'de uygun filtrelemeyi CAMERA izni, uygulamanızın şunu kullandığını açıkça belirtin: camera özelliğini belirtin ve bu özelliğin gerekli olup olmadığını belirtin. Örneğin:
<uses-feature android:name="android.hardware.camera" android:required="false" />

android.hardware.camera.front

Uygulama, cihazın ön (kullanıcıya yönelik) kamerasını kullanır.

CAMERA izni, uygulamanızın aynı zamanda şunları da kullandığını belirtir: android.hardware.camera. Arka kamera gereklidir android.hardware.camera özelliği android:required="false".

Dikkat: Uygulamanızda android.hardware.camera.front ancak açıkça belirtmediği android.hardware.camera android.required="false", arkası olmayan cihazlar kamera (Chromebook'lar gibi) Google Play tarafından filtrelenir. Uygulamanız destekliyorsa yalnızca ön kamerası olan cihazlar için android.hardware.camera şunu belirtin: Gereksiz filtrelemeyi önlemek için android.required="false".

android.hardware.camera.external

Uygulama, kullanıcının kameraya bağlandığı harici bir kamerayla iletişim kurar. olanak tanır. Bu özellik, harici kameranın sunulacağını garanti etmez. oluşturmanız gerekir.

CAMERA izni, uygulamanızın aynı zamanda şunları da kullandığını belirtir: android.hardware.camera. Arka kamera gereklidir android.hardware.camera özelliği android:required="false".

android.hardware.camera.autofocus

Uygulama, cihaz kamerası tarafından desteklenen otomatik odaklama özelliğini kullanır.

Not: CAMERA izni, otomatik odaklamanın gerekli bir özellik olduğu anlamına gelir. Projenin yolunda gittiğinden uygulama manifestinizde bulunan Google Play filtrelemesine göre filtre uygulayabilirsiniz: CAMERA izni, uygulamanızın otomatik odaklama özelliğini kullanarak gerekli olup olmadığını belirtin. Örneğin:
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />.

android.hardware.camera.flash

Uygulama, cihaz kamerası tarafından desteklenen flaş özelliğini kullanıyor.

android.hardware.camera.capability.manual_post_processing

Uygulama, Google Cloud Platform'un sunduğu MANUAL_POST_PROCESSING ekleyebilirsiniz.

Bu özellik, uygulamanızın kameranın otomatik beyaz dengesini geçersiz kılmasını sağlar işlevi görür. android.colorCorrection.transform hesabını kullan, android.colorCorrection.gains ve android.colorCorrection.mode / TRANSFORM_MATRIX.

android.hardware.camera.capability.manual_sensor

Uygulama,MANUAL_SENSOR ekleyebilirsiniz.

Bu özellik, otomatik pozlama kilitlemenin desteklendiği anlamına gelir (android.control.aeLock) gibi kameranın pozlanması sabit kalması için gereken zaman ve hassasiyeti.

android.hardware.camera.capability.raw

Uygulama, cihaz tarafından desteklenen RAW özelliğini kullanır. bulun.

Bu özellik, cihazın DNG (ham) dosyaları kaydedebileceğini belirtir. İlgili içeriği oluşturmak için kullanılan cihazınızın kamerası, sizin için gerekli olan DNG ile ilgili meta verileri uygulamasını kullanarak geliştirebilirsiniz.

android.hardware.camera.level.full
. Uygulama, sağlanan görüntü yakalama desteğinin FULL düzeyini kullanır en az bir kamera tarafından gerçekleştirilebilir. FULL desteği şunları içerir: kare kontrolü başına seri çekim yakalama özellikleri ve manuel işleme sonrası ve kontrol etmesi gerekir. Görüntüleyin INFO_SUPPORTED_HARDWARE_LEVEL_FULL değerleridir.

Cihaz kullanıcı arayüzü donanım özellikleri

android.hardware.type.automotive

Uygulama, kullanıcı arayüzünü bir araç içindeki bir dizi ekranda gösterecek şekilde tasarlanmıştır. Kullanıcı sert düğmeler, dokunma, döndürme aracılığıyla uygulamayla etkileşimde bulunur denetleyicileri ve fareyi andıran arayüzleri kullanır. Aracın ekranları genellikle orta konsolda veya bir aracın gösterge grubunda görünür. Bu ekranların boyutu ve çözünürlüğü genelde sınırlı olur.

Not: Kullanıcı, bu tür uygulamaların kullanıcı arayüzü kullanılırken sürüş yapılıyorsa uygulama, sürücüyü en aza indirmelidir dikkat dağınıklığı yaratır.

android.hardware.type.television

(Kullanımdan kaldırıldı; kullanın Bunun yerine android.software.leanback.)

Uygulama, kullanıcı arayüzünü televizyonda gösterecek şekilde tasarlanmıştır. Bu özellik, "televizyon" TV deneyimi gibi diyebiliriz: Yeşil Ofis’in kullanıcının uzakta oturduğunu ve kullanıcının ekranda bir fare değil de D-pad gibi olması gerekir. cihaz kullanılabilir.

android.hardware.type.watch
. Uygulama, kullanıcı arayüzünü saatte gösterecek şekilde tasarlanmıştır. Vücuda takılmış kol saati, bileğe takılır. Kullanıcı cihaza çok yakınken anlamak önemlidir.
android.hardware.type.pc

Uygulama, kullanıcı arayüzünü Chromebook'larda gösterecek şekilde tasarlanmıştır. Bu özellik, Chromebook'lar fare ve dokunmatik alan kullandığı için giriş emülasyonu dokunmatik yüzey donanımı. Görüntüleyin Fare giriş'e dokunun.

Not: Bunun için required="false" değerini ayarlayın element; Aksi takdirde Google Play Store, uygulamanızı daha fazla bilgi ediniyor.

Parmak izi donanımı özellikleri

android.hardware.fingerprint
. Uygulama, cihazın biyometrik donanımını kullanarak parmak izlerini okur.

Oyun kumandası donanım özellikleri

android.hardware.gamepad
. Uygulama, oyun kumandası girişini cihazın kendisinden veya çalışmasını sağlar.

Kızılötesi donanım özellikleri

android.hardware.consumerir
. Uygulama, genellikle cihazın kızılötesi (IR) özelliklerini kullanarak tüketicinin diğer kızılötesi cihazlarıyla iletişim kurmayı sağlar.

Konum donanım özellikleri

android.hardware.location
. Uygulama, konumu belirlemek için cihazda bir veya daha fazla özellik kullanır. GPS konumu, ağ konumu veya hücre konumu gibi bilgiler içerir.
android.hardware.location.gps

Uygulama, global bir ölçekten alınan tam konum koordinatlarını Cihazdaki Konumlandırma Sistemi (GPS) alıcısı.

Bu özelliğin kullanılması, uygulama ayrıca Bu ebeveyn söz konusu değilse android.hardware.location özelliği özelliğinin, android:required="false".

android.hardware.location.network

Uygulama, ağ tabanlı bir web sitesinden alınan yaklaşık konum koordinatlarını kullanır cihazda desteklenen coğrafi konum sistemi.

Bu özelliğin kullanılması, uygulama ayrıca Bu ebeveyn söz konusu değilse android.hardware.location özelliği özelliğinin, android:required="false".

NFC donanım özellikleri

android.hardware.nfc
. Uygulama, cihazın Near Field Communication (NFC) radyo özelliklerini kullanır.
android.hardware.nfc.hce

Uygulama, cihazda barındırılan NFC kartı emülasyonunu kullanır.

OpenGL ES donanım özellikleri

android.hardware.opengles.aep
. Uygulama, yüklü OpenGL ES Android Extension Bundle'ı kullanır cihaz üzerinde.

Sensör donanımı özellikleri

android.hardware.sensor.accelerometer
. Uygulama, algılamak için cihazın ivme ölçerinden gelen hareket ölçümlerini kullanır cihazın geçerli yönünü görebilirsiniz. Örneğin, bir uygulama dikey ve dikey modlar arasında geçiş yapmayı sağlayan ivme ölçer ölçümleri yatay yönde.
android.hardware.sensor.ambient_temperature
. Uygulama, cihazın ortam (çevre) sıcaklığı sensörünü kullanır. Örneğin, Örneğin, bir hava durumu uygulaması iç veya dış mekan sıcaklığını raporlayabilir.
android.hardware.sensor.barometer
. Uygulama, cihazın barometresini kullanır. Örneğin, bir hava durumu uygulaması hava basıncını raporla.
android.hardware.sensor.compass
. Uygulama, cihazın manyetometresini (pusula) kullanır. Örneğin, bir gezinme uygulama kullanıcının baktığı mevcut yönü gösterebilir.
android.hardware.sensor.gyroscope
. Uygulama, döndürme ve bükülmeyi algılamak için cihazın jiroskopunu kullanır. bir yapıya sahip olmaktır. Uygulama, bu sensörü kullanarak daha fazla cihaz algılayabilir dikey ve yatay arasında geçiş gerektiğinde şekilde ayarlayabilirsiniz.
android.hardware.sensor.hifi_sensors
. Uygulama, cihazın yüksek görüntü kalitesi (Hi-Fi) sensörlerini kullanır. Örneğin, Oyun uygulaması kullanıcının yüksek hassasiyetli hareketlerini algılayabilir.
android.hardware.sensor.heartrate
. Uygulama, cihazın nabız monitörünü kullanır. Örneğin, bir fitness uygulaması bir kullanıcının zaman içindeki nabız trendlerini raporlayabilir.
android.hardware.sensor.heartrate.ecg
. Uygulama, cihazın elektrokardiyogram (EKG) kalp hızı sensörünü kullanır. Örneğin, Örneğin bir fitness uygulaması, kullanıcının nabzı.
android.hardware.sensor.light
. Uygulama, cihazın ışık sensörünü kullanır. Örneğin, bir uygulamada ortam ışığına dayalı iki renk şemasından biri koşullar.
android.hardware.sensor.proximity
. Uygulama, cihazın yakınlık sensörünü kullanır. Örneğin, bir telefon uygulaması Uygulama, kullanıcının şu anda olduğunu algıladığında cihazın ekranını kapanabilir. vücuda yaklaştırın.
android.hardware.sensor.relative_humidity
. Uygulama, cihazın bağıl nem sensörünü kullanır. Örneğin, hava durumu uygulama, mevcut çiy noktasını hesaplamak ve raporlamak için nem oranını kullanabilir.
android.hardware.sensor.stepcounter
. Uygulama, cihazın adım sayacını kullanır. Örneğin bir fitness uygulaması bir kullanıcının günlük adımına ulaşmak için atması gereken adım sayısını raporlamak sayısı hedefi.
android.hardware.sensor.stepdetector
. Uygulama, cihazın adım algılayıcısını kullanır. Örneğin bir fitness uygulaması Uygulayacağınız egzersizin türünü anlamak için adımlar arasındaki zaman aralığını teşvik etmek sizin görevinizdir.

Ekran donanımı özellikleri

android.hardware.screen.landscape
android.hardware.screen.portrait

Uygulama, cihazın dikey veya yatay yönü kullanmasını gerektiriyor. Uygulamanız her iki yönü de destekliyorsa beyan etmeniz gerekmez. iki özellikten biri.

Örneğin, uygulamanız dikey yön gerektiriyorsa yalnızca uygulamanızı her zaman veya kullanıcının tercihine göre dikey yönde çalıştırabilirsiniz:

<uses-feature android:name="android.hardware.screen.portrait" />

Her iki yön de varsayılan olarak gerekli olmadığı varsayıldığından uygulamanız Yönlerden birini veya her ikisini de destekleyen cihazlara yükleyin. Ancak, belirli bir yönde ilerlemesini istiyorsak, android:screenOrientation özelliğini kullanarak, bu beyanın olması gerektiğini unutmayın.

Örneğin, "landscape", "reverseLandscape" veya "sensorLandscape" ile android:screenOrientation seçeneğini belirlerseniz uygulamanız yalnızca yatay yönü destekleyen cihazlarda kullanılabilir.

En iyi uygulama olarak, bu özelliği kullanmak için yönü için <uses-feature> kullanın. Bir android:screenOrientation kullanarak etkinliğiniz için bir yöne yönünü gösteriyor ancak gerekiyorsa, bunu Yönü bir <uses-feature> öğesiyle tanımlayıp android:required="false" ekleyerek gereksinimi devre dışı bırakın.

Geriye dönük uyumluluk için Android 3.1 (API düzeyi 12) çalıştıran tüm cihazlar hem yatay hem de dikey yönleri destekler.

Telefon donanımı özellikleri

android.hardware.telephony
. Uygulama, cihazın telefon özellikleri (örneğin, "telefon radyosu") veri iletişimi hizmetleridir.
android.hardware.telephony.cdma

Uygulama, Kod Bölümü Çoklu Erişim (CDMA) telefon radyosunu kullanır bahsedeceğim.

Bu özelliğin kullanılması, uygulama ayrıca Bu ebeveyn söz konusu değilse android.hardware.telephony özelliği özellik android:required="false" ile tanımlandı.

android.hardware.telephony.gsm

Uygulama, Global System for Mobile Communication (GSM) telefon özelliğini kullanır telsiz sistemi.

Bu özelliğin kullanılması, uygulama ayrıca Bu ebeveyn söz konusu değilse android.hardware.telephony özelliği özellik android:required="false" ile tanımlandı.

Dokunmatik ekran donanım özellikleri

android.hardware.faketouch

Uygulama, dokunma ve dokunma gibi temel dokunma etkileşimi etkinliklerini kullanır. tıklayın.

Gerektiği gibi belirtildiğinde bu özellik, uygulamanın Bir cihazla yalnızca, bu cihazda emülasyonlu bir "sahte dokunma" işlemi varsa uyumlu olması gerekir veya gerçek bir dokunmatik ekrana sahip olmalıdır.

Sahte dokunmatik arayüz sunan bir cihaz, kullanıcı giriş sistemi sağlar emülasyon yapan bir teknoloji olur. Örneğin, fare veya uzaktan kumanda, ekran imleçlerini çalıştırabilir.

Uygulamanız temel üzerine gelme ve tıklama etkileşimi gerektiriyor ve çalışmıyor yalnızca d-pad kumandası varsa bu özelliği bildirin. Çünkü Bu, dokunma etkileşiminin minimum düzeyidir. Uygulamayı kullanarak daha karmaşık dokunuşa sahip cihazlarda bu özelliğin belirtildiği kullanır.

Uygulamalar için gerekenler: android.hardware.faketouch özelliğini etkinleştirdik. Şunu istiyorsanız: yalnızca dokunmatik ekranı olan cihazlarla sınırlandırılmasına izin verirseniz, dokunmatik ekranın gerekli olduğunu aşağıdaki şekilde açıkça beyan etmelisiniz:

<uses-feature android:name="android.hardware.touchscreen"
    android:required="true" />

Şunu açıkça gerektirmeyen tüm uygulamalar: android.hardware.touchscreen, aşağıdaki örnekte de gösterildiği gibi aynı zamanda android.hardware.faketouch olan cihazlarda çalışır.

<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
android.hardware.faketouch.multitouch.distinct

Uygulama iki veya daha fazla farklı "parmağını" izliyor kullanıcı arayüzü testi yapıyor. Bu, android.hardware.faketouch öğesinin üst kümesidir özelliğini kullanabilirsiniz. Gerektiği belirtildiğinde bu özellik, uygulamanın Bir cihazla uyumlu olması için cihazın farklı emülasyon yapması gerekir iki veya daha fazla parmağın izlenmesini sağlayan ya da gerçek bir dokunmatik ekrana sahip olan cihazlardır.

android.hardware.touchscreen.multitouch.distinct tarafından tanımlanan farklı, çoklu dokunma özelliğinin aksine, sahte dokunmatik arayüzle farklı çoklu dokunmayı desteklemiyor Giriş, imleç hareketine dönüştüğü için iki parmakla yapılan hareketler ekranda görebilirsiniz. Yani, böyle bir cihazda tek parmakla yapılan hareketler imleç, iki parmakla kaydırmalar tek parmakla dokunma etkinliklerinin gerçekleşmesine neden olur ve diğer iki parmakla yapılan hareketler, karşılık gelen iki parmakla dokunmayı tetikler etkinlikler.

İmleci hareket ettirmek için iki parmakla dokunmatik dokunmatik yüzey sağlayan cihaz bu özelliği destekleyebilir.

android.hardware.faketouch.multitouch.jazzhand

Uygulama beş veya daha fazla farklı "parmak"ı izliyor kullanıcı arayüzü testi yapıyor. Bu, android.hardware.faketouch öğesinin üst kümesidir özelliğini kullanabilirsiniz. Gerektiği belirtildiğinde bu özellik, uygulamanın Bir cihazla uyumlu olması için cihazın farklı emülasyon yapması gerekir beş veya daha fazla parmağın izlendiğini ya da gerçek bir dokunmatik ekrana sahip olduğunu varsayalım.

android.hardware.touchscreen.multitouch.jazzhand tarafından tanımlanan farklı, çoklu dokunma özelliğinin aksine, Sahte dokunmatik arayüzle caz ve çoklu dokunma desteği desteklenmiyor Giriş, imleç hareketine dönüştürülmesi nedeniyle beş parmakla yapılan hareketler ekranda görebilirsiniz. Yani, böyle bir cihazda tek parmakla yapılan hareketler imleç, birden fazla parmakla yapılan hareketler tek parmakla dokunma etkinliklerinin gerçekleşmesine neden olur. ve birden fazla parmakla yapılan diğer hareketler, karşılık gelen birden fazla parmakla dokunma etkinlikleridir.

İmleci hareket ettirmek için beş parmakla dokunmatik dokunmatik yüzey sağlayan cihaz bu özelliği destekleyebilir.

android.hardware.touchscreen

Uygulama, ekranda duran hareketler için cihazın dokunmatik ekranı özelliklerini kullanır. hızlıca kaydırma gibi basit dokunma etkinliklerine göre daha etkileşimlidir. Bu, üst kümesi android.hardware.faketouch.

Varsayılan olarak tüm uygulamalar bu özelliği gerektirir ve bu nedenle yalnızca emülasyonlu bir "sahte dokunma" işlemi sağlayan cihazlarda kullanılabilir kullanır. Uygulamanızı cihazlarda kullanılabilir hale getirebilirsiniz bu cihazlarda bile kullanabildiğimiz göz önünde bulundurduğumuzda, D-pad'i kontrol edebilir. Bunun için dokunmatik ekranın android.hardware.touchscreen ile birlikte kullanılması gerekmez android:required="false". Bu beyanı aşağıdaki durumlarda ekleyin: uygulamanız, gerçek bir dokunmatik ekran arayüzü kullanıyor ancak bunu gerektirmez. Tümü açıkça gerekmeyen uygulamalar android.hardware.touchscreen, şu cihazlarda da çalışır: android.hardware.faketouch.

Uygulamanız aslında dokunmatik bir arayüz gerektiriyorsa (örneğin, daha gelişmiş hareketler gibi dokunma hareketlerini kullanıyorsanız herhangi bir dokunmayı varsayılan olarak gerekli oldukları için Ancak, uygulamanızın kullandığı tüm özellikleri açıkça beyan etmeniz durumunda en iyisidir.

Birden fazla parmakla dokunma gibi daha karmaşık bir dokunma etkileşimine ihtiyaç duyuyorsanız hareketler, uygulamanızın gelişmiş dokunmatik ekran kullandığını beyan eden özellikleri.

android.hardware.touchscreen.multitouch

Uygulama, cihazın iki noktalı çoklu dokunma özelliklerini kullanır. Örneğin: ancak uygulamanın, dokunma hareketlerini takip etmesi gerekmiyor. bağımsız olarak değiştirebilirsiniz. Bu, android.hardware.touchscreen özelliği.

Bu özelliğin kullanılması, uygulama ayrıca Bu ebeveyn söz konusu değilse android.hardware.touchscreen özelliği özellik android:required="false" ile tanımlandı.

android.hardware.touchscreen.multitouch.distinct

Uygulama, takip için cihazın gelişmiş çoklu dokunma özelliklerini kullanır arasında seçim yapabilirsiniz. Bu özellik, android.hardware.touchscreen.multitouch özelliği.

Bu özelliğin kullanılması, uygulama ayrıca android.hardware.touchscreen.multitouch özelliği (bunun dışında üst özellik, android:required="false" ile bildirildi.

android.hardware.touchscreen.multitouch.jazzhand

Uygulama, takip için cihazın gelişmiş çoklu dokunma özelliklerini kullanır daha fazla puan toplayabilirsiniz. Bu özellik, android.hardware.touchscreen.multitouch özelliği.

Bu özelliğin kullanılması, uygulama ayrıca android.hardware.touchscreen.multitouch özelliği (bunun dışında üst özellik, android:required="false" ile bildirildi.

USB donanım özellikleri

android.hardware.usb.accessory
. Uygulama bir USB cihazı gibi davranır ve USB ana makinelerine bağlanır.
android.hardware.usb.host
. Uygulama, cihaza bağlı USB aksesuarlarını kullanır. İlgili içeriği oluşturmak için kullanılan USB ana makinesi olarak kullanılır.

Vulkan donanım özellikleri

android.hardware.vulkan.compute
. Uygulama, Vulkan bilgi işlem özelliklerini kullanır. Bu özellik, uygulamanın donanım hızlandırmalı bağlantı gerektirdiğini gösterir Vulkan uygulaması. Özellik sürümü, hangi düzeyde isteğe bağlı olduğunu uygulamanın, Vulkan 1.0 gereksinimlerinden daha fazla işlem özelliklerine sahip olması gerekir. Örneğin, uygulamanız Vulkan bilgi işlem düzeyi 0 desteği gerektiriyorsa aşağıdaki özelliği belirtin:
<uses-feature
    android:name="android.hardware.vulkan.compute"
    android:version="0"
    android:required="true" />
. Özellik sürümü hakkında daha fazla bilgi için FEATURE_VULKAN_HARDWARE_COMPUTE sayfasına bakın.
android.hardware.vulkan.level
. Uygulama, Vulkan düzeyindeki özellikleri kullanır. Bu özellik, uygulamanın donanım hızlandırmalı Vulkan uygulaması. Özellik sürümü, hangi düzeyde isteğe bağlı olduğunu uygulamanın gerektirdiği donanım özellikleri. Örneğin, uygulamanız Vulkan donanım düzeyi 0'ı gerektiriyorsa destek için, aşağıdaki özelliği beyan edin:
<uses-feature
    android:name="android.hardware.vulkan.level"
    android:version="0"
    android:required="true" />
. Özellik sürümü hakkında daha fazla bilgi için FEATURE_VULKAN_HARDWARE_LEVEL sayfasına bakın.
android.hardware.vulkan.version
. Uygulama Vulkan'ı kullanıyor. Bu özellik, uygulamanın donanım hızlandırmalı bağlantı gerektirdiğini gösterir Vulkan uygulaması. Özellik sürümü, Vulkan API desteğinin minimum sürümünü belirtir izin verilmez. Örneğin, uygulamanız Vulkan 1.0 desteği gerektiriyorsa şu özellik:
<uses-feature
    android:name="android.hardware.vulkan.version"
    android:version="0x400003"
    android:required="true" />
. Özellik sürümü hakkında daha fazla bilgi için FEATURE_VULKAN_HARDWARE_VERSION sayfasına bakın.

Kablosuz donanım özellikleri

android.hardware.wifi
. Uygulama, cihazda 802.11 ağ (Kablosuz) özelliklerini kullanır.
android.hardware.wifi.direct
. Uygulama, cihazdaki Kablosuz Doğrudan ağ özelliklerini kullanır.

Yazılım özellikleri

Bu bölümde, Google Ads'de bulunan en güncel oldukça önemlidir. Uygulamanızın yazılım kullandığını veya yazılım gerektirdiğini belirtmek özellik, karşılık gelen değeri tanımlayın, "android.software", android:name özelliğinde yer alır. Bir yazılım özelliğini her bildirişinizde <uses-feature> öğesi.

İletişim yazılımı özellikleri

android.software.sip
. Uygulama, Oturum Başlatma Protokolü (SIP) hizmetlerini kullanıyor. SIP kullanıldığında, Uygulama, video konferans gibi internet telefon işlemlerini destekleyebilir ve anlık mesajlaşmayı geliştirebilirsiniz.
android.software.sip.voip

Uygulama, SIP tabanlı İnternet Üzerinden Ses Protokolü (VoIP) hizmetlerini kullanır. Ölçüt Uygulama, VoIP kullanarak gerçek zamanlı internet telefon işlemlerini destekleyebilir. örneğin iki yönlü video konferansı gibi.

Bu özelliğin kullanılması, uygulama ayrıca android.software.sip özelliği (bu ana özellik android:required="false" ile açıklandı.

android.software.webview
. Uygulama, internetten alınan içerikleri gösterir.

Özel giriş yazılımı özellikleri

android.software.input_methods
. Uygulama, geliştiricinin InputMethodService içinde tanımladığı yeni bir giriş yöntemi kullanır.

Cihaz yönetimi yazılım özellikleri

android.software.backup
. Uygulama, yedekleme ve geri yükleme işlemini gerçekleştirme mantığına sahiptir.
android.software.device_admin
. Uygulama, bir cihaz politikasını zorunlu kılmak için cihaz yöneticilerini kullanır.
android.software.managed_users
. Uygulama, ikincil kullanıcıları ve yönetilen profilleri destekler.
android.software.securely_removes_users
. Uygulama, kullanıcıları ve ilişkili olduğu kullanıcıları kalıcı olarak kaldırabilir dışı verilerdir.
android.software.verified_boot
. Uygulama, cihazın doğrulanmış önyüklemesinden gelen sonuçların işlenmesini sağlayan bir mantık içerir cihaz yapılandırmasının değişip değişmediğini algılayan yeniden başlatma işlemi.

Medya yazılımı özellikleri

android.software.midi
. Uygulama, müzik enstrümanlarına bağlanır veya Müzikal kullanılarak ses çıkışı sağlar Araç Dijital Arabirim (MIDI) protokolüdür.
android.software.print
. Uygulama, cihazda görüntülenen dokümanları yazdırmaya yönelik komutlar içerir.
android.software.leanback
. Uygulama Android TV cihazlarında çalışacak şekilde tasarlanmıştır.
android.software.live_tv
. Uygulama, canlı televizyon programları yayınlıyor.

Ekran arayüzü yazılım özellikleri

android.software.app_widgets
. Uygulama, Uygulama Widget'ları kullanıyor veya sağlıyor ve yalnızca şunlar için tasarlandı: kullanıcıların web'de gezinebileceği bir Ana ekran veya benzer bir konum yerleşik Uygulama Widget'ları yerleştirebilirsiniz.
android.software.home_screen
. Uygulama, cihazın ana ekranının yerine geçer.
android.software.live_wallpaper
. Uygulama, animasyon içeren duvar kağıtları kullanıyor veya sağlıyorsa.

Özellik şartlarını belirten izinler

Bazı donanım ve yazılım özellik sabitleri, Google Analytics 4'te tarama yapar. Bu nedenle, bazı uygulamalar API'yi önceden kullanabilir aşağıdakileri kullanarak API'yi gerektirdiğini beyan edebilirler: <uses-feature> sistemi.

Google Play, bu uygulamaların yanlışlıkla kullanıma sunulmasını önlemek için donanımla ilgili belirli izinlerin, uygulamanızın varsayılan olarak temel donanım özellikleri gerekir. Örneğin, Bluetooth kullanan uygulamalar BLUETOOTH isteğinde bulunmalıdır izninin bir <uses-permission> öğesi içinde olması gerekir.

Eskiler için Google Play, izin beyanının temel android.hardware.bluetooth özelliğinin, ve filtreleme özelliğini bu özelliğe göre ayarlar. Tablo 2 listeleri , <uses-feature> öğeleri.

Tüm beyanlar dahil olmak üzere <uses-feature> beyan bildirilen android:required özelliği, her zaman özellikleri tablo 2'deki izinlerin işaret ettiği özelliklerdir. Bu izinlerden herhangi biri için belirttiğim özelliğe göre filtrelemeyi devre dışı bırakabilirsiniz. bu özellik, required özelliği false olarak ayarlanmış bir <uses-feature> öğesinde tanımlanıyor.

Örneğin, CAMERA iznine göre filtrelemeyi devre dışı bırakın, manifest dosyasına aşağıdaki <uses-feature> beyanı ekleyin:

<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />

Dikkat: Uygulamanız Android 5.0 (API düzeyi 21) veya daha yüksek ve ACCESS_COARSE_LOCATION ya da Konum almak için ACCESS_FINE_LOCATION izni ağdan veya GPS'ten gelen olası güncellemeleri de Uygulamanızın android.hardware.location.network kullandığını beyan etmelidir veya android.hardware.location.gps donanım özelliğine sahip olmanız gerekir.

Tablo 2. Cihaz donanımı kullanımını ima eden cihaz izinleri.

Kategori İzin Dolaylı özellik gereksinimi
Bluetooth BLUETOOTH android.hardware.bluetooth

Ayrıntılı bilgi için Bluetooth özelliği için özel işleme konusuna bakın.

BLUETOOTH_ADMIN android.hardware.bluetooth
Kamera CAMERA android.hardware.camera
android.hardware.camera.autofocus
Konum ACCESS_MOCK_LOCATION android.hardware.location
ACCESS_LOCATION_EXTRA_COMMANDS android.hardware.location
INSTALL_LOCATION_PROVIDER android.hardware.location
ACCESS_COARSE_LOCATION

android.hardware.location

android.hardware.location.network. (Yalnızca hedef API düzeyi 20 veya daha düşük olduğunda.)

ACCESS_FINE_LOCATION

android.hardware.location

android.hardware.location.gps. (Yalnızca hedef API düzeyi 20 veya daha düşük olduğunda.)

Mikrofon RECORD_AUDIO android.hardware.microphone
Telefon Hizmeti CALL_PHONE android.hardware.telephony
CALL_PRIVILEGED android.hardware.telephony
MODIFY_PHONE_STATE android.hardware.telephony
PROCESS_OUTGOING_CALLS android.hardware.telephony
READ_SMS android.hardware.telephony
RECEIVE_SMS android.hardware.telephony
RECEIVE_MMS android.hardware.telephony
RECEIVE_WAP_PUSH android.hardware.telephony
SEND_SMS android.hardware.telephony
WRITE_APN_SETTINGS android.hardware.telephony
WRITE_SMS android.hardware.telephony
Kablosuz bağlantı ACCESS_WIFI_STATE android.hardware.wifi
CHANGE_WIFI_STATE android.hardware.wifi
CHANGE_WIFI_MULTICAST_STATE android.hardware.wifi