Gerätekompatibilität – Übersicht

Android wurde für den Betrieb auf vielen verschiedenen Geräten entwickelt, wie z. B. Smartphones, Tablets und Fernseher. Die große Auswahl an Geräten bietet großes Potenzial Zielgruppe für Ihre App. Damit deine App auf allen Geräten funktioniert, muss sie Funktionsvariabilität tolerieren und eine flexible Benutzeroberfläche bereitstellen, Bildschirmkonfigurationen zu optimieren.

Um die Gerätekompatibilität zu verbessern, bietet Android ein dynamisches App-Framework. Hier können Sie konfigurationsspezifische App-Ressourcen in Static wie z. B. XML-Layouts für unterschiedliche Bildschirmgrößen. Android, dann lädt die entsprechenden Ressourcen basierend auf der aktuellen Gerätekonfiguration. Mit auf Ihr App-Design und zusätzliche App-Ressourcen zu achten, können Sie Ein einzelnes Anwendungspaket (APK), das die Nutzererfahrung auf einer Vielzahl von von Geräten.

Bei Bedarf kannst du die Funktionsanforderungen deiner App und festlegen, auf welchen Gerätetypen Ihre App aus dem Google Play Store installiert werden darf. In diesem Dokument wird erläutert, wie Sie festlegen können, welche Geräte Zugriff auf Ihr Apps und wie Sie Ihre Apps so vorbereiten, dass sie die richtige Zielgruppe erreichen.

Was bedeutet „Kompatibilität“? meinen?

Im Hinblick auf die Android-Entwicklung gibt es zwei Kompatibilitätstypen: Gerätekompatibilität und App-Kompatibilität.

Da Android ein Open-Source-Projekt ist, kann jeder Hardwarehersteller um ein Gerät zu entwickeln, auf dem das Android-Betriebssystem ausgeführt wird. Ein Gerät ist jedoch „Mit Android kompatibel“ wenn Apps, die für den Android-Ausführungsumgebung Die genauen Details der Android-App der Ausführungsumgebung definiert werden, Android Kompatibilitätsprogramm. Jedes Gerät muss die Kompatibilitätstest-Suite bestehen (CTS) nicht kompatibel sind.

Als App-Entwickler müssen Sie sich keine Gedanken darüber machen, Android-kompatibel, da nur Geräte, die Android-kompatibel sind, Google Play Store Wenn ein Nutzer deine App also über den Google Play Store installiert, ein mit Android kompatibles Gerät verwenden.

Sie müssen jedoch überlegen, ob Ihre App mit den einzelnen potenzielle Gerätekonfiguration. Weil Android auf einer Vielzahl von Geräten läuft Konfigurationen sind einige Funktionen nicht auf allen Geräten verfügbar. Zum Beispiel -Geräte haben möglicherweise keinen Kompasssensor. Wenn die Hauptfunktion Ihrer App Kompasssensor erforderlich ist, ist deine App nur mit Geräten kompatibel, um diese Funktion einzubeziehen.

Verfügbarkeit deiner App für Geräte steuern

Android unterstützt eine Vielzahl von Funktionen, die deine App über die Plattform nutzen kann. APIs Einige Funktionen sind hardwarebasiert, z. B. ein Kompasssensor. einige sind softwarebasiert, z. B. App-Widgets und einige hängen von der Plattformversion ab. Nicht jedes Gerät unterstützt alle Funktionen, daher musst du möglicherweise die App-Einstellungen Verfügbarkeit für Geräte basierend auf den erforderlichen Funktionen deiner App.

Um die größtmögliche Nutzerbasis für deine App zu erreichen, solltest du so viele Gerätekonfigurationen wie möglich mit einem einzelnen APK oder AAB zu verwenden. In den meisten Fällen Deaktivieren Sie dazu optionale Features zur Laufzeit und bereitstellende App Ressourcen mit Alternativen für unterschiedliche Konfigurationen, wie z. B. für unterschiedliche Bildschirmgrößen. Bei Bedarf können Sie den Zugriff auf Verfügbarkeit auf bestimmten Geräten über den Google Play Store basierend auf Geräteeigenschaften:

Gerätefunktionen

Um die Verfügbarkeit deiner App basierend auf Gerätefunktionen zu verwalten, definiert Android Funktions-IDs für Hardware- oder Softwarefunktionen, die möglicherweise auf allen Geräten verfügbar. Die Funktions-ID des Kompasssensors lautet beispielsweise FEATURE_SENSOR_COMPASS, und die Funktions-ID für App-Widgets FEATURE_APP_WIDGETS.

Bei Bedarf können Sie verhindern, dass Nutzer Ihre App installieren, wenn ihre eine erforderliche Funktion nicht bereitstellen, indem die Funktion mit einem <uses-feature> -Elements im Manifestdatei.

Beispiel: Ihre App funktioniert auf einem Gerät ohne Kompass nicht. können Sie den Kompasssensor folgendermaßen festlegen: Manifest-Tag:

<manifest ... >
    <uses-feature android:name="android.hardware.sensor.compass"
                  android:required="true" />
    ...
</manifest>

Der Google Play Store vergleicht die für Ihre App erforderlichen Funktionen mit den Funktionen, die auf den Geräten der Nutzer verfügbar sind, um festzustellen, ob Ihre App die mit jedem Gerät kompatibel sind. Verfügt das Gerät nicht über alle Funktionen, App erfordert, können Nutzer die App nicht installieren.

Wenn für die Hauptfunktion Ihrer App jedoch kein Gerätefunktion, lege die required "false" und suchen Sie zur Laufzeit nach der Gerätefunktion. Wenn die App-Funktion auf dem aktuellen Gerät nicht verfügbar ist, verringern Sie das entsprechende App-Funktion. Sie können beispielsweise abfragen, ob eine Funktion verfügbar durch Anruf hasSystemFeature() wie hier:

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();
}

Informationen zu allen Filtern, mit denen Sie die Verfügbarkeit steuern können Ihrer App über den Google Play Store Filter bei Google Play Dokumentation.

<ph type="x-smartling-placeholder">

Plattform-Version

Auf verschiedenen Geräten laufen möglicherweise unterschiedliche Versionen der Android-Plattform, z. B. Android 12 oder Android 13. Mit jeder nachfolgenden Plattformversion werden häufig APIs hinzugefügt. in der vorherigen Version nicht verfügbar. Um anzugeben, welche APIs verfügbar ist, gibt jede Plattformversion eine API-Level: Android 12 ist z. B. API-Level 31 und Android 13 API-Level 33.

Sie müssen die minSdkVersion und targetSdkVersion Werte in der Datei build.gradle:

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)
        ...
    }
}

Cool

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
        ...
    }
}

Weitere Informationen zur Datei build.gradle finden Sie unter Konfigurieren Sie Ihren Build.

Jede neue Android-Version bietet Kompatibilität mit Apps, die entwickelt wurden. die APIs früherer Plattformversionen verwenden, sodass Ihre App mit bei zukünftigen Android-Versionen unter Verwendung der dokumentierten Android-APIs.

<ph type="x-smartling-placeholder">

Wenn Ihre App jedoch APIs verwendet, die in einer neueren Plattformversion hinzugefügt wurden, aber für seine Hauptfunktion nicht benötigt, prüfen Sie die API-Ebene unter und die entsprechenden Funktionen sachgemäß herabstufen, wenn das API- zu niedrig. Setzen Sie in diesem Fall minSdkVersion auf den niedrigsten Wert. die für die Hauptfunktion Ihrer App möglich ist, und vergleichen Sie dann Version, SDK_INT, mit der Codenamen-Konstante Build.VERSION_CODES der der API-Ebene entspricht, die Sie prüfen möchten, wie unten Beispiel:

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();
}

Bildschirmkonfiguration

Android läuft auf Geräten unterschiedlicher Größe wie Smartphones, Tablets und Fernsehern. Bis Geräte nach ihrem Bildschirmtyp kategorisiert, definiert Android zwei Merkmale für jedes Gerät: Bildschirmgröße (die physische Größe des Bildschirms) und Bildschirmdichte (die physische Dichte der Pixel auf dem Bildschirm, DPI). Zur Vereinfachung der verschiedenen verwendet, verallgemeinert Android diese Varianten in Gruppen, einfachere Ausrichtung:

  • Vier allgemeine Größen: S, Normal, L und XL
  • Mehrere allgemeine Dichten: mdpi (mittel), hdpi (hoch), xhdpi (extra hoch), xxhdpi (besonders hoch) und andere

Deine App ist standardmäßig mit allen Bildschirmgrößen und -dichten kompatibel, da das System Anpassungen am UI-Layout und an den Bildressourcen vornimmt, die für jeden Bildschirm erforderlich sind. Optimierte Bitmapbilder für gängige Bildschirme bereitstellen Dichten.

Optimieren Sie die Nutzererfahrung, indem Sie nach Möglichkeit flexible Layouts verwenden. Wenn Layouts für umfangreiche Konfigurationsänderungen wie Hochformat und Querformat oder groß bzw. klein ist, erwägen Sie, alternative Layouts, die auch für kleinere Konfigurationsänderungen flexibel sind. Dadurch wird die Nutzererfahrung auf Formfaktoren wie Tablets, Smartphones und faltbaren Geräten optimieren. Es ist auch hilfreich, wenn sich die Fenstergröße im Mehrfenstermodus ändert.

Informationen zum Erstellen alternativer Ressourcen für verschiedene und wie Sie Ihre App bei Bedarf auf bestimmte Bildschirmgrößen beschränken können, lies die Bildschirmkompatibilität großer Bildschirm App Qualitätsrichtlinien.

Die Verfügbarkeit deiner App aus geschäftlichen Gründen steuern

Neben der Einschränkung der Verfügbarkeit deiner App je nach Gerät kann es sein, dass Sie die Verfügbarkeit Ihrer App für Unternehmen oder aus rechtlichen Gründen. In solchen Fällen bietet der Google Play Store Filteroptionen in der Play Console, mit denen Sie die Leistung Ihrer App aus nichttechnischen Gründen, z. B. aufgrund des Gebietsschemas oder der drahtlosen Verbindung. Netzbetreiber.

Filtern nach technischer Kompatibilität, z. B. erforderliche Hardware basierend auf Informationen in Ihrem APK oder AAB. -Datei. Filterung aus nichttechnischen Gründen, z. B. geografischer wird immer in der Sprache Google Play Console

Weitere Informationen:

App-Ressourcen – Übersicht
Informationen zur Strukturierung von Android-Apps, um Apps voneinander zu trennen Ressourcen aus dem App-Code und wie Sie alternative Ressourcen für bestimmte Gerätekonfigurationen.
Filter bei Google Play
Informationen dazu, wie der Google Play Store App auf verschiedenen Geräten zu installieren.
Berechtigungen auf Android-Geräten
Wie Android den App-Zugriff auf bestimmte APIs mit einem Berechtigungssystem einschränkt der die Einwilligung des Nutzers zur Verwendung dieser APIs durch Ihre App erfordert.