Android, birçok farklı cihazda çalışacak şekilde tasarlanmıştır. Örneğin telefon, ve televizyonlarda vardır. Çeşitli cihazların kullanımı, daha yüksek bir kitle belirleyebilirsiniz. Uygulamanızın tüm cihazlarda başarılı olması için Özelliklere uyum sağlayan esnek bir kullanıcı arayüzü sunar. yapılandırmalarına yardımcı olur.
Android, cihaz uyumluluğuna yardımcı olmak için dinamik bir uygulama çerçevesi sunar Bu formda, isteğe bağlı olarak yapılandırmaya uygulama kaynakları için farklı XML düzenleri gibi dosyalar oluşturabilirsiniz. Android ve ardından Geçerli cihaz yapılandırmasına göre uygun kaynakları yükler. Entegre uygulama tasarımınız ve ek uygulama kaynaklarınız açısından oldukça iyi tasarlanmış bir uygulama ya da kullanıcı deneyimini optimize eden tek bir uygulama paketi (APK) cihazlar.
Ancak gerekirse uygulamanızın özellik gereksinimlerini belirtebilir ve Hangi tür cihazların uygulamanızı Google Play Store'dan yükleyebileceğini kontrol edebilirsiniz. Bu dokümanda, verilerinize erişimi olan cihazları nasıl kontrol edebileceğiniz açıklanmaktadır doğru kitleye ulaşmak için uygulamalarınızı nasıl hazırlayacağınızı öğreneceksiniz.
"Uyumluluk" ne anlama gelir? ne demek?
Android geliştirmesiyle ilgili olarak iki tür uyumluluk vardır: cihaz uyumluluğu ve uygulama uyumluluğu.
Android açık kaynak bir proje olduğundan tüm donanım üreticileri Android işletim sistemini çalıştıran bir cihaz tasarlayalım. Ancak cihaz "Android uyumlu" yalnızca Android yürütme ortamı. Android'in tüm ayrıntıları yürütme ortamı tarafından tanımlanan Android uyumluluk programı ile uyumlu hale getirilmiştir. Her cihaz Uyumluluk Test Paketi'ni geçmelidir (CTS) öğelerinin uyumlu olarak kabul edilmesi için
Uygulama geliştirici olarak, cihazlarınızın doğru yüklü olup olmadığı konusunda endişelenmenize gerek yoktur. Android uyumlu, çünkü yalnızca Android uyumlu cihazlar şunları içerir: Google Play Store'a gidin. Yani, bir kullanıcı uygulamanızı Google Play Store'dan yüklerse Android uyumlu bir cihaz kullanıyorlar.
Ancak, uygulamanızın her bir yazılımla uyumlu olup olmadığını göz önünde bulundurmanız gerekir yardımcı olabilir. Çünkü Android birçok farklı cihazda çalışır. bazı özellikler tüm cihazlarda kullanılamaz. Örneğin, cihazlar pusula sensörü içermeyebilir. Uygulamanızın temel işlevi için pusula sensörü gerekiyorsa, uygulamanız yalnızca düşünmelisiniz.
Uygulamanızın cihazlar için kullanılabilirliğini kontrol etme
Android, uygulamanızın platform aracılığıyla yararlanabileceği çeşitli özellikleri destekler API'ler. Pusula sensörü gibi bazı özellikler donanım tabanlıdır; bazıları Uygulama widget'ları gibi yazılım tabanlı olma; bazıları da platform sürümüne bağlıdır. Her cihaz her özelliği desteklemediğinden uygulamanızın özelliklerini kontrol etmeniz gerekebilir. uygulamanızın gerektirdiği özelliklere göre cihazlarda kullanılabilir.
Uygulamanızda mümkün olan en geniş kullanıcı tabanına ulaşmak için mümkün olduğunca çok sayıda cihaz yapılandırmalarını mümkün olduğunca kolaylaştırmak için kullanırız. Çoğu durumda bu işlemi çalışma zamanında isteğe bağlı özellikleri devre dışı bırakarak ve uygulamayı sağlama farklı yapılandırmalar için alternatifler içeren düzenler. Gerekirse, Google Play Store üzerinden belirli cihazlarda kullanılabilirlik durumu cihaz özellikleri:
Cihaz özellikleri
Android, cihaz özelliklerine göre uygulamanızın kullanılabilirliğini yönetmek için
olmayabilecek herhangi bir donanım veya yazılım özelliğinin özellik kimliklerini
tüm cihazlarda kullanılabilir. Örneğin, pusula sensörünün özellik kimliği:
FEATURE_SENSOR_COMPASS
,
Uygulama widget'larının özellik kimliği ise
FEATURE_APP_WIDGETS
.
Gerekirse,
özelliğini kullanarak beyan eden gerekli bir özelliği
<uses-feature>
öğesi kullanabilir,
manifest dosyanız.
Örneğin, uygulamanız pusulası olmayan bir cihazda mantıklı gelmiyorsa için aşağıdaki kurallara göre pusula sensörünü bir gereklilik olarak manifest etiketi:
<manifest ... > <uses-feature android:name="android.hardware.sensor.compass" android:required="true" /> ... </manifest>
Google Play Store, uygulamanızın gerektirdiği özellikleri belirlemek için her kullanıcının cihazında kullanılabilen özellikler her cihazla uyumludur. Cihazda kullandığınız tüm özellikler yoksa kullanıcı uygulamanızı yükleyemez.
Ancak uygulamanızın birincil işlevi bir
cihaz özelliğini kullanıyorsanız
required
özelliğini "false"
olarak ayarlayın ve çalışma zamanında cihaz özelliğini kontrol edin.
Uygulama özelliği mevcut cihazda kullanılamıyorsa
ilgili uygulama özelliği. Örneğin, bir özelliğin sizin için uygun olup olmadığını
şu numarayı arayabilirsiniz:
hasSystemFeature()
.
aşağıdaki gibidir:
Kotlin
if (!packageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_COMPASS)) { // This device doesn't have a compass. Turn off the compass feature. disableCompassFeature() }
Java
PackageManager pm = getPackageManager(); if (!pm.hasSystemFeature(PackageManager.FEATURE_SENSOR_COMPASS)) { // This device doesn't have a compass. Turn off the compass feature. disableCompassFeature(); }
Kullanılabilirliği kontrol etmek üzere kullanabileceğiniz tüm filtreler hakkında bilgi için hakkında daha fazla bilgi edinmek için Google Play'deki filtreler belgelerinden faydalanabilirsiniz.
Platform sürümü
Farklı cihazlar Android platformunun farklı sürümlerini çalıştırabilir. Örneğin: Android 12 veya Android 13 olarak kullanıyor. Birbirini izleyen her platform sürümü genellikle API ekler. önceki sürümde mevcut değildir. Hangi API kümesinin her platform sürümü bir API düzeyi. Örneğin, Android 12 API düzeyi 31, Android 13'te ise API düzeyi 33'tür.
minSdkVersion
ve
targetSdkVersion
build.gradle
dosyanızdaki değerler:
Kotlin
android { defaultConfig { applicationId = "com.example.myapp" // Defines the minimum API level required to run the app. minSdkVersion(30) // Specifies the API level used to test the app. targetSdkVersion(33) ... } }
Eski
android { defaultConfig { applicationId 'com.example.myapp' // Defines the minimum API level required to run the app. minSdkVersion 30 // Specifies the API level used to test the app. targetSdkVersion 33 ... } }
build.gradle
dosyası hakkında daha fazla bilgi edinmek için şu makaleyi okuyun:
Derlemenizi yapılandırın.
Android'in birbirini izleyen her sürümü, tasarlanan uygulamalar için uyumluluk sağlar. API'leri kullanmasını sağlamak için uygulamanız gereken gelecekteki Android API'lerini de kullanabilirsiniz.
Ancak uygulamanız, daha yeni bir platform sürümüne eklenmiş API'ler kullanıyorsa ancak
birincil işlevi için bunları gerektirmiyorsa, API düzeyini şuradan kontrol edin:
ve ilgili özellikleri sorunsuz bir şekilde
çok düşük. Bu durumda, minSdkVersion
değerini en düşük değere ayarlayın
önce uygulamanızın birincil işlevi için mümkün olduğunca
araştırın, ardından mevcut sistemin
sürümünü,
SDK_INT
,
kod adı sabitine
Build.VERSION_CODES
aşağıdaki örnekteki gibi, kontrol etmek istediğiniz API düzeyine karşılık gelen URL'yi seçin:
örnek:
Kotlin
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { // Running on something older than API level 11, so disable // the drag and drop features that use ClipboardManager APIs. disableDragAndDrop() }
Java
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { // Running on something older than API level 11, so disable // the drag and drop features that use ClipboardManager APIs. disableDragAndDrop(); }
Ekran yapılandırması
Android, telefon, tablet ve TV gibi çeşitli boyutlardaki cihazlarda çalışır. Alıcı: cihazları ekran türlerine göre kategorilere ayırırken Android, cihazlar için iki özellik tanımlar. her cihaz: ekran boyutu (ekranın fiziksel boyutu) ve ekran yoğunluğu (ekrandaki piksellerin fiziksel yoğunluğu, DPI) girin. Farklı kullanım alanlarını basitleştirmek için Android bu varyantları, onları oluşturan gruplar halinde genelleştirir. hedeflemek daha kolaydır:
- Genelleştirilmiş dört boyut: küçük, normal, büyük ve çok büyük
- Birkaç genel yoğunluk: mdpi (orta), hdpi (yüksek), xhdpi (ekstra) yüksek), xxhdpi (ekstra yüksek) ve diğerleri
Uygulamanız varsayılan olarak tüm ekran boyutları ve yoğunluklarıyla uyumludur. çünkü sistem, kullanıcı arayüzü düzeninizde ve görüntü kaynaklarınızda her ekranda olması gerekir. Ortak ekran için optimize edilmiş bit eşlem resimleri sağlayın yoğunluk olabilir.
Mümkün olduğunca esnek düzenleri kullanarak kullanıcı deneyimini optimize edin. Dikey ve yatay gibi büyük yapılandırma değişikliklerine pencere boyutlarının küçük veya büyük pencere boyutlarıyla ya da küçük pencerelerle yapılandırmada daha küçük değişikliklere uygulanabilen düzenlerdir. Bu şekilde Tabletler, telefonlar ve katlanabilir cihazlar gibi form faktörlerindeki kullanıcı deneyimi. Google Ayrıca, çoklu pencere modunda pencerelerin boyutu değiştiğinde de işe yarar.
Farklı kaynaklar için alternatif kaynakların nasıl oluşturulacağıyla ilgili ve gerektiğinde uygulamanızı belirli ekran boyutlarıyla kısıtlama, şunu okuyun: ekran uyumluluğu genel bakış büyük ekran uygulama kalite yönergelerine uyun.
İşle ilgili nedenlerle uygulamanızın kullanılabilirliğini kontrol etme
Ayrıca, uygulamanızın kullanılabilirliğini cihaza göre kısıtlamaya gibi özelliklerden yararlanmak için uygulamanızın işletmeler için kullanılabilirliğini kısıtlamanız yasal gerekçelerle değiştirebilirsiniz. Bu tür durumlarda Google Play Store size Play Console'daki filtreleme seçenekleriniz sayesinde, uygulamanızın kullanıcının yerel ayarı veya kablosuz gibi teknik olmayan nedenlerle kullanılabilirlik operatör.
Teknik uyumluluk (gerekli donanım gibi) için filtreleme bileşenler - her zaman APK veya AAB'nizde bulunan bilgilere dayanır dosyası olarak kaydedebilirsiniz. Ancak, coğrafi veriler gibi teknik olmayan nedenlerle filtreleme yerel ayar—her zaman Google Play Console.
Ek kaynaklar:
- Uygulama kaynaklarına genel bakış
- Android uygulamalarının ayrı uygulamaları gösterecek şekilde nasıl yapılandırıldığı hakkında bilgi nasıl alternatif sağlayabileceğiniz de dahil olmak üzere uygulama kodundan kaynaklara ekleyebilirsiniz.
- Google Play'deki filtreler
- Google Play Store'un farklı cihazlara yüklenmesini engelleyebilirsiniz.
- Android'de izinler
- Android, bir izin sistemi olan belirli API'lere uygulama erişimini nasıl kısıtlar? uygulamanızın bu API'leri kullanması için kullanıcıdan izin alınmasını gerektirir.