Grundlegende Qualitätsrichtlinien für Apps

Um eine solide Grundlage für eine hochwertige App zu schaffen, sollten Sie die Qualitätsrichtlinien für Apps beachten.

In den Richtlinien wird die Mindestqualität definiert, die alle Apps erfüllen müssen.

Adaptive App-Qualität

Android-Apps laufen auf einer Vielzahl von Geräten – von kompakten Smartphones über Tablets, faltbare Geräte, Desktops, verbundene Displays, Infotainmentsysteme im Auto, Fernseher und XR-Geräte. Mit Fenstermodi wie dem Splitscreen-Modus und dem Desktop-Freiform-Fenster können Apps in anpassbaren Bereichen eines Bildschirms ausgeführt werden.

Beachten Sie die Qualitätsrichtlinien für adaptive Apps in Verbindung mit den Qualitätsrichtlinien für Apps, um:

  • Für alle Formfaktoren und Displaygrößen optimierte Apps erstellen
  • Apps in Google Play-Einträgen und in der Suche höher einstufen lassen
  • Mehr Nutzer gewinnen und die Nutzerbindung steigern

Richtlinien

Die folgenden grundlegenden Richtlinien helfen Ihnen, eine einfache, hochwertige App zu entwickeln.

Nutzerfreundlichkeit

Standardmäßiges visuelles Design und Interaktionsmuster von Android sorgen für eine einheitliche und intuitive Nutzererfahrung.

Verwenden Sie nach Möglichkeit Material Design-Komponenten, um die Benutzeroberfläche Ihrer App anstelle von Android-Plattformkomponenten zu erstellen. Material Design bietet ein modernes Android-Erscheinungsbild und eine einheitliche Benutzeroberfläche für alle Android-Versionen.

Nutzerfreundlichkeit

ID Tests Beschreibung
Consistent_UX T-Consistent_UX,
T-SD_Card
Die App bietet bei allen Anwendungsfällen und auf allen Formfaktoren eine einheitliche Nutzererfahrung.
App_Switcher T-App_Switcher,
T-SD_Card
Die App wird in den Hintergrund verschoben, wenn der Fokus auf eine andere App wechselt. Die App wird in den Vordergrund zurückgeholt, wenn sie über die App-Auswahl Zuletzt verwendet reaktiviert wird.
Sleep_Resume T-Sleep_Resume,
T-SD_Card
Wenn die App die Vordergrund-App ist, wird sie pausiert, wenn das Gerät in den Ruhemodus wechselt, und fortgesetzt, wenn das Gerät wieder aktiviert wird.
Lock_Resume T-Lock_Resume,
T-SD_Card
Wenn die App im Vordergrund ausgeführt wird, wird die Wiedergabe angehalten, wenn das Gerät gesperrt wird, und fortgesetzt, wenn das Gerät entsperrt wird.

Benutzeroberfläche

ID Tests Beschreibung
Display_State_Parity T-Orientation_Transitions

Bei Displayausrichtungen und Faltzuständen sind im Wesentlichen dieselben Funktionen und Aktionen verfügbar.

Fullscreen_Display T-Orientation_Transitions

Die App füllt das App-Fenster in beiden Ausrichtungen aus und wird aufgrund von Konfigurationsänderungen, z. B. beim Auf- und Zuklappen des Geräts, nicht im Letterbox-Format dargestellt.

Ein geringfügiges Letterboxing zur Kompensation kleiner Abweichungen bei der Bildschirmgeometrie ist zulässig.

Orientation_Transitions T-Orientation_Transitions Die App verarbeitet schnelle Übergänge zwischen Bildschirmausrichtungen und das Ein- und Ausklappen des Geräts ohne Probleme bei der Darstellung und ohne Verlust des Status.

Visuelle Qualität

ID Tests Beschreibung
Graphic_Quality T-Graphic_Quality

Die App zeigt Grafiken, Text, Bilder und andere UI-Elemente ohne erkennbare Verzerrungen, Unschärfe oder Verpixelung an.

  • Die App verwendet nach Möglichkeit Vektor-Drawables.
  • Die App verwendet hochwertige Grafiken für alle Zielbildschirmgrößen und ‑formfaktoren.
  • Kein Aliasing an den Rändern von Menüs, Schaltflächen und anderen UI-Elementen
Line_Length T-Line_Length Die App sorgt für eine gute Lesbarkeit von Text und Textblöcken, indem die Zeilenlänge für jede der unterstützten Sprachen auf 45 bis 75 Zeichen (einschließlich Leerzeichen) begrenzt wird.
Theme_Support T-Theme_Support Die Inhalte der App und alle Webinhalte, auf die über die App zugegriffen wird, unterstützen sowohl helle als auch dunkle Designs.
ID Tests Beschreibung
Back_Button_Nav T-Back_Nav Die App unterstützt die standardmäßige Zurück-Schaltflächen-Navigation und verwendet keine benutzerdefinierten Aufforderungen für die Zurück-Schaltfläche auf dem Bildschirm.
Back_Gesture_Nav T-Back_Nav Die App unterstützt die Bedienung über Gesten zum Zurückgehen und Aufrufen des Startbildschirms.
State_Preservation T-State_Preservation,
T-Back_Nav

Die App behält den Nutzer- oder App-Status bei, wenn die App den Vordergrund verlässt, und verhindert einen versehentlichen Datenverlust durch Rückwärtsnavigation und sonstige Statusänderungen.

Wenn die App in den Vordergrund zurückkehrt, wird der beibehaltene Status und alle ausstehenden zustandsorientierten Transaktionen wiederhergestellt. Dazu gehören z. B. Änderungen an bearbeitbaren Feldern, Spielverlauf, Menüs, Videos und anderen Bereichen der App.

  • Wenn die App über die App-Auswahl fortgesetzt wird, wird der Nutzer zum genauen Status zurückgebracht, in dem die App zuletzt verwendet wurde.
  • Wenn die App fortgesetzt wird, nachdem das Gerät aus dem Ruhemodus (gesperrt) reaktiviert wurde, wird der Nutzer zu dem genauen Status zurückgebracht, in dem die App zuletzt verwendet wurde.
  • Wenn die App über Home oder Alle Apps neu gestartet wird, sollte je nach der Zeit, die seit der letzten Verwendung der App vergangen ist, eine der folgenden Aktionen ausgeführt werden:
    • Wenn die App vor Kurzem (vor wenigen Minuten) verwendet wurde, stelle den App-Status so genau wie möglich wieder her.
    • Wenn seit der letzten Verwendung der App mehr Zeit vergangen ist, versuchen Sie, den vorherigen Status der App so genau wie möglich wiederherzustellen, oder starten Sie die App über den Startbildschirm oder einen anderen Standardstatus.

Benachrichtigungen

ID Tests Beschreibung
Notification_Quality T-Notification_Quality

Benachrichtigungen enthalten relevante Informationen zu Ihrer App.

Conversation_Quality T-Notification_Quality

Für Messaging-Apps, soziale Apps und Unterhaltungen:

Bedienungshilfen

ID Tests Beschreibung
Touch_Target_Size T-Touch_Target_Size Berührungszielbereiche sind mindestens 48 dp groß. Weitere Informationen finden Sie in den Material Design-Richtlinien zu Layout und Typografie.
Visual_Contrast T-Visual_Contrast

Der Text und die Inhalte im Vordergrund der App haben die folgenden Kontrastverhältnisse zum App-Hintergrund:

  • 3:1 für großen Text und Grafiken
  • 4,5:1 bei kleinem Text (weniger als 18 pt oder weniger als 14 pt, wenn der Text fett formatiert ist)

Weitere Informationen zu Farbe und Kontrast

Content_Description T-Content_Description Beschreiben Sie jedes UI-Element, mit Ausnahme von TextView, mit contentDescription.

Funktionalität

Ihre App sollte die folgenden Funktionen bieten.

Audio

ID Tests Beschreibung
Audio_Playback_Start T-Audio_Playback_Start

Wenn der Nutzer die Audiowiedergabe startet, sollte die App innerhalb einer Sekunde eine der folgenden Aktionen ausführen:

  • Audiowiedergabe starten
  • Visuellen Hinweis geben, dass die Audiodaten vorbereitet werden
Audio_Focus_Request T-Audio_Focus_Request Die App sollte Audiofokus anfordern, wenn die Audiowiedergabe beginnt, und den Audiofokus aufgeben, wenn die Wiedergabe beendet wird.
Audio_Focus_Change T-Audio_Focus_Change Die App sollte Anfragen anderer Apps zum Audiofokus verarbeiten. Eine App kann beispielsweise die Wiedergabelautstärke verringern, wenn eine andere App Sprache wiedergibt.
Audio_Playback_Background T-Audio_Playback_Background

Die App muss die Wiedergabe im Hintergrund unterstützen.

Die App muss einen Dienst im Vordergrund verwenden, um zu verhindern, dass der App-Prozess vom System beendet wird, sobald die App nicht mehr sichtbar ist. Die App muss außerdem eine dauerhafte, nicht schließbare Benachrichtigung in der Statusleiste oder auf dem Sperrbildschirm anzeigen, um den Nutzer darüber zu informieren, dass die App ausgeführt wird.

Nutzer sollten die Wiedergabe über die Benachrichtigungs- oder Sperrbildschirmsteuerung oder über die Steuerung eines verbundenen Zubehörs steuern können.

Audio_Notification_Style T-Audio_Notification_Style Wenn die App Audio im Hintergrund abspielt, muss sie eine Benachrichtigung mit dem Stil MediaStyle erstellen.
Audio_Playback_Resume T-Audio_Playback_Resume Wenn die App im Hintergrund ausgeführt wird und die Audiowiedergabe pausiert ist, wird sie fortgesetzt, wenn die App wieder in den Vordergrund wechselt. Alternativ muss die App dem Nutzer anzeigen, dass die Wiedergabe pausiert ist.

Video

ID Tests Beschreibung
Video_PiP T-Video_PiP Wenn in der App Videos wiedergegeben werden, sollte sie die Bild-im-Bild-Wiedergabe unterstützen.
Video_Encoding T-Video_Encoding Wenn die App Videos codiert, sollte sie dies mit dem HEVC-Videokomprimierungsstandard tun.
Video_Playback_Background T-Video_Playback_Background

Die App unterstützt die Hintergrundwiedergabe von Videos, wenn sie nicht die oberste App ist, auch wenn das App-Fenster:

  • Minimiert
  • Hinter anderen Fenstern oder der System-UI (z. B. Benachrichtigungsfeld oder Start-/Sperrbildschirm)
  • Außerhalb des sichtbaren Desktopbildschirms

Teilen

ID Tests Beschreibung
System_Sharesheet T-System_Sharesheet Die App sollte beim Teilen von Inhalten das Android Sharesheet verwenden. Die App kann Ziele vorschlagen, die für benutzerdefinierte Lösungen nicht verfügbar sind.

Hintergrunddienste

ID Tests Beschreibung
Background_Service_Optimization T-Background_Service_Optimization

Die App vermeidet unnötig lange Dienste im Hintergrund, um einen reibungslosen Betrieb des Geräts des Nutzers zu gewährleisten.

Hinweis:Das System wendet verschiedene Einschränkungen für Hintergrunddienste an.

Die folgenden Anwendungsfälle sind nicht für Hintergrunddienste geeignet:

  • Netzwerkverbindung für Benachrichtigungen aufrechterhalten
  • Bluetooth-Verbindung aufrechterhalten
  • GPS eingeschaltet lassen

Weitere Informationen finden Sie unter Hintergrundaufgaben – Übersicht.

Leistung und Stabilität

Ihre App sollte optimale Leistung, Stabilität, Kompatibilität und Reaktionsschnelligkeit bieten.

Leistung

ID Tests Beschreibung
App_Startup_Time T-App_Startup_Time Die App wird schnell geladen oder bietet dem Nutzer Feedback auf dem Bildschirm (z. B. eine Fortschrittsanzeige), wenn das Laden der App länger als zwei Sekunden dauert.
Rendering_Performance T-Rendering_Performance Die App rendert alle 16 Millisekunden (oder weniger) Frames, um mindestens 60 Frames pro Sekunde anzuzeigen. Hilfe bei Rendering-Problemen finden Sie unter Langsames Rendern.
StrictMode_Compliance T-StrictMode_Compliance Wenn StrictMode aktiviert ist (siehe den Testabschnitt StrictMode), sind beim Testen der App keine roten Blitze (Leistungswarnungen von StrictMode) zu sehen.

Stabilität

ID Tests Beschreibung
Stability_ANR T-Stability_ANR Die App stürzt nicht ab und blockiert den UI-Thread nicht, was zu ANR-Fehlern (Android Not Responding) führt. Mit dem Pre-Launch-Bericht von Google Play können Sie potenzielle Stabilitätsprobleme erkennen. Behalten Sie nach der Bereitstellung die Seite Android Vitals in der Google Play Console im Blick.

SDK

ID Tests Beschreibung
Android_Platform_Compatibility T-Android_Platform_Compatibility Die App wird auf der neuesten öffentlichen Version der Android-Plattform ausgeführt, ohne abzustürzen oder die Kernfunktionen erheblich zu beeinträchtigen.
Target_SDK_Version T-Target_SDK_Version Die App ist auf das neueste Android-SDK ausgerichtet, das erforderlich ist, um die Google Play-Anforderungen zu erfüllen. Dazu wird der Wert targetSdk in der build.gradle-Datei des App-Moduls festgelegt.
Compile_SDK_Version T-Target_SDK_Version Die App wurde mit dem neuesten Android SDK erstellt, indem der Wert compileSdk in der build.gradle-Datei des App-Moduls festgelegt wurde.
SDK_Maintenance T-SDK_Maintenance,
T-Non_SDK_Interfaces

Alle verwendeten Google- oder Drittanbieter-SDKs sind auf dem neuesten Stand. Alle Verbesserungen dieser SDKs in Bezug auf Stabilität, Kompatibilität oder Sicherheit sollten den Nutzern zeitnah zur Verfügung stehen.

Verwenden Sie für Google-SDKs nach Möglichkeit SDKs, die auf Google Play-Diensten basieren. Diese SDKs sind abwärtskompatibel, erhalten automatische Updates, verringern die Größe Ihres App-Pakets und nutzen die Ressourcen auf dem Gerät effizient.

Non_SDK_Interfaces T-Non_SDK_Interfaces Die App verwendet keine Nicht-SDK-Schnittstellen.
Production_Build_Quality T-Production_Build_Quality Die Produktions-App enthält keine Debug-Bibliotheken. Debug-Bibliotheken in der App können zu Leistungs- und Sicherheitsproblemen führen.

Akku

ID Tests Beschreibung
Power_Management T-Power_Management

Die App unterstützt die Funktionen zur Energieverwaltung Doze und App-Standby ordnungsgemäß.

Apps können eine Ausnahme von der Stromwartung beantragen. Weitere Informationen finden Sie unter Unterstützung für andere Anwendungsfälle im Artikel Für Doze und App-Standby optimieren.

Datenschutz und Sicherheit

Die App verarbeitet Nutzerdaten und personenbezogene Daten sicher und bietet angemessene Berechtigungsstufen.

Apps, die im Google Play Store veröffentlicht werden, müssen zum Schutz der Daten von Nutzern auch den Richtlinien für Nutzerdaten von Google Play entsprechen.

Berechtigungen

ID Tests Beschreibung
Minimize_Permissions T-Minimize_Permissions Die App fordert nur die absolut erforderlichen Berechtigungen an, die für den aktuellen Anwendungsfall benötigt werden. Bei einigen Berechtigungen, z. B. für den Standort, verwendet die App nach Möglichkeit eine grobe anstelle einer genauen Spezifikation. Weitere Informationen finden Sie unter Berechtigungsanfragen minimieren.
Sensitive_Permissions T-Sensitive_Permissions

Die App fordert die Berechtigung für den Zugriff auf vertrauliche Daten (z. B. Berechtigungsgruppen für SMS oder Anrufliste oder Standort) oder kostenpflichtige Dienste (z. B. Dialer oder SMS) nur an, wenn dies in direktem Zusammenhang mit den Hauptanwendungsfällen der App steht. Die Auswirkungen dieser Berechtigungen müssen dem Nutzer deutlich offengelegt werden.

Je nachdem, wie Ihre App die Berechtigungen verwendet, ist möglicherweise eine alternative Möglichkeit zur Erfüllung des Anwendungsfalls Ihrer App möglich, ohne auf den Zugriff auf vertrauliche Informationen angewiesen zu sein. Anstatt beispielsweise Berechtigungen für die Kontakte eines Nutzers anzufordern, verwenden Sie einen impliziten Intent, um Zugriff anzufordern.

Runtime_Permissions T-Runtime_Permissions Die App fordert Laufzeitberechtigungen an, wenn die entsprechende Funktion angefordert wird, und nicht beim Start der App.
Permission_Rationale T-Permission_Rationale Die App erklärt deutlich, warum Berechtigungen erforderlich sind.
Graceful_Degradation T-Graceful_Degradation Die App arbeitet mit gradueller Fehlertoleranz, wenn Nutzer eine Berechtigung ablehnen oder widerrufen. Die App darf den Nutzerzugriff nicht vollständig verhindern.

Daten und Dateien

ID Tests Beschreibung
Sensitive_Data_Storage T-Sensitive_Data_Storage,
T-Sensitive_Data_Handling
Alle vertraulichen Daten werden im internen Speicher der App gespeichert.
Sensitive_Data_Logging T-Sensitive_Data_Logging Es werden keine personenbezogenen oder vertraulichen Nutzerdaten im Systemlog oder in einem app-spezifischen Log protokolliert.
Hardware-IDs T-Hardware_IDs Die App verwendet keine Hardware-IDs, die nicht zurückgesetzt werden können, z. B. die IMEI, zu Identifikationszwecken.

Identitäts-

ID Tests Beschreibung
Autofill_Hints T-Autofill_Hints Die App bietet Vorschläge zum automatischen Ausfüllen von Anmeldedaten und anderen vertraulichen Informationen wie Kreditkartendaten, Adressen und Telefonnummern.
Credential_Manager T-Credential_Manager Die App ist in den Credential Manager für Android eingebunden, um eine nahtlose Anmeldung zu ermöglichen und die Unterstützung für Passkeys, Verbundidentitäten und Passwörter zu vereinheitlichen.
Biometric_Authentication T-Biometric_Authentication Die App unterstützt die biometrische Authentifizierung zum Schutz von Finanztransaktionen oder sensiblen Informationen wie wichtigen Nutzerdokumenten.

App-Komponenten

ID Tests Beschreibung
Component_Export T-Component_Export

Die App legt das Attribut android:exported explizit für alle Aktivitäten, Dienste, Broadcast-Empfänger und insbesondere Contentanbieter fest.

Nur Anwendungskomponenten, die Daten mit anderen Apps teilen oder die von anderen Apps aufgerufen werden sollen, werden exportiert.

Component_Permissions T-Component_Permissions

Alle Intents und Broadcasts entsprechen den Best Practices:

Component_Protection T-Component_Protection

Alle Komponenten, die Inhalte zwischen Apps teilen, verwenden android:protectionLevel="signature" für benutzerdefinierte Berechtigungen. Dazu gehören Aktivitäten, Dienste, Broadcast-Empfänger und insbesondere Contentanbieter.

Apps sollten nicht auf den Zugriff auf eine Liste der installierten Pakete angewiesen sein.

Netzwerke

ID Tests Beschreibung
Network_Security_Traffic T-Network_Security_Traffic Der gesamte Netzwerkverkehr wird über SSL gesendet.
Network_Security_Configuration T-Network_Security_Configuration In der App wird eine Netzwerksicherheitskonfiguration deklariert.
Security_Provider_Initialization T-Security_Provider_Initialization Wenn die App Google Play-Dienste verwendet, wird der Sicherheitsanbieter beim Start der Anwendung initialisiert.

WebViews

ID Tests Beschreibung
WebView_Asset_Loader T-WebView_Asset_Loader,
T-WebView_Navigation
Verwenden Sie setAllowUniversalAccessFromFileURLs() nicht für den Zugriff auf lokale Inhalte. Verwenden Sie stattdessen WebViewAssetLoader.
WebView_JavaScript T-WebView_JavaScript,
T-WebView_Navigation

In WebViews wird addJavaScriptInterface() nicht mit nicht vertrauenswürdigen Inhalten verwendet.

Unter Android 6.0 (API-Level 23 und höher) sollten Sie stattdessen HTML-Nachrichtenkanäle verwenden.

Umsetzung

ID Tests Beschreibung
App_Bundles T-App_Bundles

Die App lädt keinen Code dynamisch von außerhalb des APKs der App. Verwenden Sie Android App Bundles, die Play Feature Delivery und Play Asset Delivery enthalten.

Seit August 2021 ist die Verwendung von Android App Bundles für alle neuen Apps im Google Play Store obligatorisch.

Kryptografie

ID Tests Beschreibung
Cryptographic_Algorithms T-Cryptographic_Algorithms Die App verwendet starke, plattformbereitgestellte kryptografische Algorithmen und einen Zufallszahlengenerator. Außerdem werden in der App keine benutzerdefinierten Algorithmen implementiert.

Google Play

Aktivieren Sie die Veröffentlichung Ihrer App bei Google Play.

Richtlinien

ID Tests Beschreibung
Play_Content_Policies T-Play_Content_Policies Die App hält sich strikt an die Bedingungen der Google Play-Inhaltsrichtlinie für Entwickler, bietet keine unangemessenen Inhalte und verwendet nicht das geistige Eigentum oder die Marke anderer.
Play_Content_Rating T-Play_Content_Policies Die Altersfreigabe der App wird gemäß den Richtlinien zur Altersfreigabe festgelegt.

App-Detailseite

ID Tests Beschreibung
Play_Feature_Graphic T-Play_Feature_Graphic,
T-Play_Graphic_Assets

Die Vorstellungsgrafik der App entspricht den Richtlinien in diesem Hilfeartikel. Stellen Sie Folgendes sicher:

  • Der App-Eintrag enthält eine hochwertige Vorstellungsgrafik
  • Die Funktionsgrafik enthält keine Gerätebilder, Screenshots oder kleinen Text, der beim Herunterskalieren und Anzeigen auf dem kleinsten Bildschirm, für den Ihre App optimiert ist, unlesbar ist.
  • Die Vorstellungsgrafik ähnelt keiner Anzeige.
Play_Device_References T-Play_Graphic_Assets App-Screenshots und ‑Videos zeigen oder verweisen nicht auf Nicht-Android-Geräte.
Play_Misleading_Content T-Play_Graphic_Assets App-Screenshots oder ‑Videos stellen den Inhalt und die Nutzung Ihrer App nicht auf irreführende Weise dar.

Nutzer-Support

ID Tests Beschreibung
Play_User_Reviews T-Play_Content_Policies Von Nutzern häufig gemeldete Fehler auf dem Tab Rezensionen der Google Play-Seite werden behoben, wenn sie reproduzierbar sind und auf vielen verschiedenen Geräten auftreten. Wenn ein Fehler nur auf wenigen Geräten auftritt, sollten Sie ihn trotzdem beheben, wenn diese Geräte besonders beliebt oder neu sind.

Testumgebung

So richten Sie eine Testumgebung ein:

  • Emulatortests:Mit dem Android-Emulator können Sie Ihre App unter verschiedenen Android-Versionen und Bildschirmauflösungen testen. Richten Sie emulierte Geräte (AVDs) ein, um die häufigsten Formfaktoren und Hardware-/Softwarekombinationen für Ihre Zielgruppe zu repräsentieren. Testen Sie verschiedene Formfaktoren mit den folgenden Emulatoren (mindestens):

    • Faltbare Geräte: 7,6 Zoll großes faltbares Display mit Außendisplay (wird im AVD Manager unter „Smartphones“ aufgeführt)
    • Tablet: Pixel C mit 9,94 Zoll (2.560 × 1.800 Pixel)
    • Testen von Benachrichtigungen in mobilen Apps: Koppeln Sie ein Mobilgerät oder einen Emulator mit dem Wear OS-Emulator: Wear OS Round 1.84″.
  • Hardwaregeräte:Ihre Testumgebung sollte eine kleine Anzahl von tatsächlichen Hardwaregeräten umfassen, die die wichtigsten Formfaktoren und Hardware-/Softwarekombinationen repräsentieren, die für Verbraucher verfügbar sind. Sie müssen nicht auf jedem Gerät testen, das auf dem Markt ist. Konzentrieren Sie sich auf eine kleine Anzahl repräsentativer Geräte, auch wenn Sie nur ein oder zwei Geräte pro Formfaktor verwenden.

  • Gerätetestlabore:Sie können auch Drittanbieterdienste wie Firebase Test Lab verwenden, um Ihre App auf einer Vielzahl von Geräten zu testen.

  • Mit der neuesten Android-Version testen:Sie sollten nicht nur repräsentative Android-Versionen für Ihre Zielgruppe testen, sondern auch immer die neueste Android-Version, um sicherzustellen, dass die neuesten Verhaltensänderungen sich nicht negativ auf die Nutzerfreundlichkeit Ihrer App auswirken.

Weitere Informationen zum Testen, einschließlich Einheitentests, Integrationstests und UI-Tests, finden Sie unter Grundlagen des Testens von Android-Apps.

StrictMode

Aktivieren Sie für Leistungstests StrictMode in Ihrer App. Verwenden Sie StrictMode, um Vorgänge zu erfassen, die sich auf die Leistung, den Netzwerkzugriff sowie das Lesen und Schreiben von Dateien auswirken könnten. Suchen Sie sowohl im Hauptthread als auch in anderen Threads nach potenziell problematischen Vorgängen.

Richten Sie eine Richtlinie für das Monitoring pro Thread mit StrictMode.ThreadPolicy.Builder ein und aktivieren Sie das gesamte unterstützte Monitoring in der ThreadPolicy mit detectAll().

Aktivieren Sie visuelle Benachrichtigungen zu Richtlinienverstößen für die ThreadPolicy mit penaltyFlashScreen().

Tests

Mit den Tests zur grundlegenden App-Qualität können Sie die grundlegende Qualität Ihrer App bewerten. Sie können die Tests kombinieren oder Gruppen von Tests in Ihren Testplan einbinden.

Nutzerfreundlichkeit

Testen Sie, ob die Nutzererfahrung konsistent und intuitiv ist.

Nutzerfreundlichkeit

ID Funktion Beschreibung
T-Consistent_UX Consistent_UX

Rufen Sie alle Bereiche der App auf, also alle Bildschirme, Dialogfelder, Einstellungen und Nutzerflüsse.

Gehen Sie so vor:
  • Wenn die Anwendung das Bearbeiten oder Erstellen von Inhalten, das Spielen oder die Medienwiedergabe ermöglicht, sollten Sie diese Abläufe testen.
  • Testen Sie die App, indem Sie Unterbrechungen durch andere Apps verursachen, z. B. durch den Empfang einer Benachrichtigung oder eines Anrufs. Nehmen Sie außerdem vorübergehende Änderungen an Geräteattributen vor, z. B. an der Netzwerkverbindung, der Akkufunktion, der GPS-Verfügbarkeit und der Systemlast.
  • Alle In-App-Kaufvorgänge eingeben und testen
T-App_Switcher App_Switcher Wechseln Sie auf jedem App-Bildschirm zu einer anderen laufenden App und kehren Sie dann über die App-Umschaltfunktion Zuletzt verwendet zur getesteten App zurück.
T-Sleep_Resume Sleep_Resume Drücke die Ein/Aus-Taste, um das Gerät in den Ruhemodus zu versetzen, und drücke sie dann noch einmal, um das Display zu aktivieren.
T-Lock_Resume Lock_Resume Richten Sie eine Displaysperre auf dem Gerät ein. Drücken Sie die Ein/Aus-Taste, um das Gerät in den Ruhemodus zu versetzen und zu sperren. Drücke dann noch einmal die Ein/Aus-Taste, um das Display zu aktivieren und das Gerät zu entsperren.

SD-Karte

ID Funktion Beschreibung
T-SD_Card Consistent_UX

Führen Sie Hauptfunktionstests mit der App aus, die auf der SD-Karte eines Geräts installiert ist (sofern die App diese Installationsmethode unterstützt).

Informationen zum Verschieben der App auf eine SD-Karte finden Sie in den Einstellungen der App.

Benutzeroberfläche

ID Funktion Beschreibung
T-Orientation_Transitions Display_State_Parity,
Fullscreen_Display,
Orientation_Transitions

Drehen Sie das Gerät auf jedem App-Bildschirm mindestens dreimal zwischen Hoch- und Querformat und zwischen zugeklapptem und aufgeklapptem Zustand.

Prüfen Sie, ob die App Folgendes tut:
  • Funktionsparität in allen Ausrichtungs- und Faltzuständen
  • Füllt das App-Fenster in allen Ausrichtungs- und Faltzuständen aus und wird nicht mit Letterboxing-Balken dargestellt.
  • Der Status wird beibehalten und es treten keine Rendering-Probleme bei schnellen Übergängen zwischen Ausrichtungen und beim Ein- und Ausklappen des Geräts auf.

Visuelle Qualität

ID Funktion Beschreibung
T-Graphic_Quality Graphic_Quality Verwenden Sie alle Funktionen Ihrer App. Prüfen Sie, ob alle visuellen Elemente, einschließlich Grafiken, Text, Bilder und anderer UI-Elemente, frei von Verzerrungen, Unschärfe oder Verpixelung sind.
T-Line_Length Line_Length

Prüfen Sie alle Textblöcke in der App. Achten Sie darauf, dass die Zeilenlänge von Text und Textblöcken zur besseren Lesbarkeit auf 45 bis 75 Zeichen (einschließlich Leerzeichen) begrenzt ist.

Prüfen Sie Folgendes:
  • Die Komposition ist in allen unterstützten Formfaktoren akzeptabel.
  • Keine abgeschnittenen Buchstaben oder Wörter
  • Keine unsachgemäßen Zeilenumbrüche in Schaltflächen oder Symbolen
  • Ausreichender Abstand zwischen Text und umgebenden Elementen
T-Theme_Support Theme_Support Prüfen Sie, ob der gesamte Text im hellen und dunklen Design gut lesbar ist. Prüfen Sie, ob alle Bilder sowohl im hellen als auch im dunklen Design gut zu erkennen sind und ästhetisch wirken.
ID Funktion Beschreibung
T-Back_Nav Back_Button_Nav,
Back_Gesture_Nav

Rufen Sie alle Bereiche der App auf, also alle Bildschirme, Dialogfelder, Einstellungen und Nutzerflüsse.

Drücke auf jedem App-Bildschirm die Schaltfläche Zurück oder verwende die Wischgeste „Zurück“. Die App sollte zum vorherigen Bildschirm oder zum Startbildschirm zurückkehren.

T-State_Preservation State_Preservation Drücken Sie auf jedem App-Bildschirm die Startseite-Taste des Geräts oder wischen Sie bei der Gestennavigation nach oben. Starten Sie die App dann über den Bildschirm Alle Apps neu.

Benachrichtigungen

ID Funktion Beschreibung
T-Notification_Quality Notification_Quality,
Conversation_Quality
Lösen Sie alle Arten von Benachrichtigungen aus, die die App anzeigen kann, und beobachten Sie sie in der Benachrichtigungsleiste. Erweitern Sie Benachrichtigungen, sofern möglich (Android 4.1 und höher), und tippen Sie auf alle verfügbaren Aktionen.

Bedienungshilfen

ID Funktion Beschreibung
T-Touch_Target_Size Touch_Target_Size Prüfen Sie, ob die Berührungsziele für alle Displaygrößen und ‑konfigurationen eine einheitliche, zugängliche Größe und Position haben. Informationen zur Barrierefreiheit finden Sie unter Accessibility Scanner.
T-Visual_Contrast Visual_Contrast Prüfen Sie den Kontrast aller visuellen Elemente.
T-Content_Description Content_Description Prüfen Sie, ob alle UI-Elemente außer TextView Inhaltsbeschreibungen haben.

Funktionalität

Prüfen Sie, ob Ihre App die folgenden Funktionen implementiert.

Audio

ID Funktion Beschreibung
T-Audio_Playback_Start Audio_Playback_Start Audiowiedergabe starten Prüfen Sie, ob die App innerhalb einer Sekunde mit der Audiowiedergabe beginnt oder einen visuellen Hinweis darauf gibt, dass die Audiodaten für die Wiedergabe vorbereitet werden.
T-Audio_Focus_Request Audio_Focus_Request Audiowiedergabe starten Die App sollte Audiofokus anfordern. Wenn die Audiowiedergabe beendet wird, sollte die App den Audiofokus aufgeben. Dies geschieht automatisch bei Apps, die auf Android 12 (API‑Level 31) und höher ausgerichtet sind.
T-Audio_Focus_Change Audio_Focus_Change Audiowiedergabe starten Starte die Audiowiedergabe in einer anderen App. Deine App sollte auf die Änderung des Audiofokus reagieren und die Audiowiedergabe beenden oder die Lautstärke verringern.
T-Audio_Playback_Background Audio_Playback_Background

Audiowiedergabe starten Interagiere mit einer anderen nicht audiobezogenen App als Vordergrund-App. Die App sollte weiterhin Audio im Hintergrund abspielen und eine Benachrichtigung in der Statusleiste anzeigen. Prüfe, ob du die Wiedergabe über die in der Benachrichtigung angezeigten Steuerelemente verwalten kannst.

Sperren Sie den Gerätebildschirm. Die App sollte weiterhin Audio im Hintergrund abspielen und eine Benachrichtigung auf dem Sperrbildschirm anzeigen. Prüfe, ob du die Wiedergabe über die in der Benachrichtigung angezeigten Steuerelemente verwalten kannst.

T-Audio_Notification_Style Audio_Notification_Style Audiowiedergabe starten Interagiere mit einer anderen Nicht-Audio-App als Vordergrund-App. Prüfe, ob deine App weiterhin Audioinhalte im Hintergrund wiedergibt und eine Benachrichtigung mit dem Stil MediaStyle erstellt hat. Weitere Informationen finden Sie unter Mit der Mediensteuerung zusammenarbeiten.
T-Audio_Playback_Resume Audio_Playback_Resume Audiowiedergabe starten Interagieren Sie mit einer anderen App, die keine Audio-App ist, sodass sie zur Vordergrund-App wird. Interagieren Sie mit Ihrer App, damit sie zur obersten App wird. Die Audiowiedergabe sollte fortgesetzt oder die Lautstärke wiederhergestellt werden. Andernfalls sollte die App dem Nutzer anzeigen, dass die Wiedergabe pausiert ist.

Video

ID Funktion Beschreibung
T-Video_PiP Video_PiP Aktivieren Sie die Videowiedergabe in Apps im Bild-im-Bild-Modus.
T-Video_Encoding Video_Encoding Prüfen Sie, ob die App Videos mit dem HEVC-Videokomprimierungsstandard codiert.
T-Video_Playback_Background Video_Playback_Background Starten Sie die Videowiedergabe. Minimieren Sie das App-Fenster und öffnen Sie eine andere App, um das App-Fenster in den Hintergrund zu verschieben. Verschieben Sie das App-Fenster auf Geräten, die für die Desktop-Ansicht geeignet sind, vom sichtbaren Desktop weg. Prüfen Sie, ob die Videowiedergabe in allen Fällen ohne Unterbrechung fortgesetzt wird.

Teilen

ID Funktion Beschreibung
T-System_Sharesheet System_Sharesheet Erstellen Sie eine Absicht und starten Sie eine Aktivität, indem Sie startActivity() mit der Absicht als Argument aufrufen. Weitere Informationen finden Sie unter Android-Freigabeübersicht verwenden. In Ihrer App sollte das Android-Sharesheet angezeigt werden.

Hintergrunddienste

ID Funktion Beschreibung
T-Background_Service_Optimization Background_Service_Optimization

Verwenden Sie alle wichtigen Funktionen Ihrer App. Prüfen Sie, ob keine lang andauernden Hintergrunddienste gestartet werden.

Wechseln Sie zu einer anderen App, um Ihre App in den Hintergrund zu verschieben. Rufen Sie die Einstellungen auf und prüfen Sie, ob für Ihre App Dienste im Hintergrund ausgeführt werden. Gehen Sie unter Android 4.0 und höher zum Bildschirm Apps und suchen Sie die App auf dem Tab Wird ausgeführt.

Leistung und Stabilität

Leistung, Stabilität und pixelgenaue Grafiken überprüfen

Leistung

ID Funktion Beschreibung
T-App_Startup_Time App_Startup_Time Starten Sie Ihre App. Prüfen Sie, ob die App schnell geladen wird oder eine Fortschrittsanzeige oder ähnliche Hinweise eingeblendet werden, wenn das Laden der App länger als zwei Sekunden dauert.
T-Rendering_Performance Rendering_Performance Verwenden Sie alle wichtigen Funktionen Ihrer App. Prüfen Sie, ob die App mindestens 60 Frames pro Sekunde rendert. Mit der Option HWUI-Rendering-Profil können Sie Ihre App testen.
T-StrictMode_Compliance StrictMode_Compliance

Aktivieren Sie StrictMode in Ihrer App und nutzen Sie alle wichtigen Funktionen. Prüfen Sie, ob die App StrictMode-Leistungswarnungen ausgibt. Das heißt, es dürfen beim Testen der App keine roten Blitze angezeigt werden. Rote Blitze weisen auf schlechtes Verhalten in Bezug auf Speicher, Netzwerkzugriff oder Speicherverwaltung (z. B. Speicherlecks) hin.

Achten Sie genau auf die Garbage Collection und ihre Auswirkungen auf die Nutzerfreundlichkeit.

Stabilität

ID Funktion Beschreibung
T-Stability_ANR Stability_ANR Verwenden Sie alle wichtigen Funktionen Ihrer App. Prüfen Sie, ob die App abstürzt oder den UI-Thread blockiert, was zu ANR-Fehlern („Android Not Responding“) führt. Sehen Sie sich den Pre-Launch-Bericht von Google Play an, um potenzielle Stabilitätsprobleme zu erkennen.

SDK

ID Funktion Beschreibung
T-Android_Platform_Compatibility Android_Platform_Compatibility Führen Sie Ihre App auf der neuesten öffentlichen Version der Android-Plattform aus. Alle wichtigen Funktionen nutzen Prüfen Sie, ob die App abstürzt und ob sie ohne Verlust von Hauptfunktionen ausgeführt wird.
T-Target_SDK_Version Target_SDK_Version,
Compile_SDK_Version
Prüfen Sie die Android-Manifestdatei und die Build-Konfiguration, um sicherzustellen, dass die Anwendung mit dem aktuellsten verfügbaren SDK (targetSdk und compileSdk) erstellt wird.
T-SDK_Maintenance SDK_Maintenance Prüfen Sie die Datei build.gradle Ihrer App auf veraltete Abhängigkeiten.
T-Non_SDK_Interfaces Non_SDK_Interfaces Verwenden Sie das Lint-Tool von Android Studio, um die Verwendung von Nicht-SDK-Schnittstellen zu erkennen. Informationen zu alternativen Testmethoden finden Sie unter Einschränkungen für Nicht-SDK-Schnittstellen.
T-Production_Build_Quality Production_Build_Quality Prüfen Sie die build.gradle-Datei Ihrer App auf enthaltene Debug-Bibliotheken.

Akku

ID Funktion Beschreibung
T-Power_Management Power_Management

Alle wichtigen App-Funktionen im Doze- und App-Standby-Modus verwenden Prüfen Sie, ob Wecker, Timer, Benachrichtigungen und Synchronisierungen im Wartungszeitraum im Doze-Modus und beim Beenden des App-Standby-Modus ordnungsgemäß funktionieren.

Testen Sie das Verhalten von Stromsparmodus und App-Standby mit ADB-Befehlen. Informationen zu Anforderungen und Richtlinien finden Sie unter Mit Stromsparmodus und App-Standby testen.

Um einen unerwarteten Akkuverbrauch zu diagnostizieren, verwenden Sie den Android Studio Power Profiler oder das Tool Battery Historian in Kombination mit geplanten Hintergrundaufgaben.

Datenschutz und Sicherheit

Testen Sie, ob die von Nutzern erwarteten Datenschutz- und Sicherheitsfunktionen vorhanden sind.

Berechtigungen

ID Funktion Beschreibung
T-Minimize_Permissions Minimize_Permissions Sehen Sie sich alle Berechtigungen an, die Ihre App benötigt – in der Manifestdatei, zur Laufzeit und in den App-Einstellungen auf dem Gerät (Einstellungen > App-Info).
T-Sensitive_Permissions Sensitive_Permissions Verwenden Sie alle Funktionen Ihrer App, für die Berechtigungen angefordert werden. Prüfen Sie, ob die App nur für wichtige Anwendungsfälle der App Berechtigungen für den Zugriff auf sensible Daten oder Dienste anfordert. Prüfen Sie, ob die Auswirkungen der Erteilung der Berechtigung für vertrauliche Daten und Dienste dem Nutzer klar mitgeteilt werden.
T-Runtime_Permissions Runtime_Permissions Verwenden Sie alle Funktionen Ihrer App, für die Berechtigungen erforderlich sind. Prüfen Sie, ob die Berechtigungen verzögert angefordert werden, d. h. erst, wenn auf die Funktionen zugegriffen wird, und nicht beim Start der App.
T-Permission_Rationale Permission_Rationale Verwenden Sie alle Funktionen Ihrer App, für die Berechtigungen erforderlich sind. Prüfen Sie, ob die App dem Nutzer erklärt, warum die Berechtigungen erforderlich sind.
T-Graceful_Degradation Graceful_Degradation Verwenden Sie alle Funktionen Ihrer App, für die Berechtigungen erforderlich sind. Berechtigungen verweigern oder widerrufen Prüfen Sie, ob die App einen alternativen Anwendungsfall bietet und weiterhin funktioniert.

Daten und Dateien

ID Funktion Beschreibung
T-Sensitive_Data_Storage Sensitive_Data_Storage Überprüfen Sie alle Daten, die im internen Speicher gespeichert sind. Prüfen Sie, ob extern gespeicherte Daten keine sensiblen Daten sind.
T-Sensitive_Data_Handling Sensitive_Data_Storage Prüfen Sie, wie die aus dem externen Speicher geladenen Daten verarbeitet werden.
T-Sensitive_Data_Logging Sensitive_Data_Logging Verwenden Sie alle wichtigen App-Funktionen und beobachten Sie dabei das Geräteprotokoll. Prüfen Sie, ob keine privaten Nutzerinformationen protokolliert werden.
T-Hardware_IDs Hardware_IDs Alle wichtigen App-Funktionen verwenden. Prüfen Sie, ob die App keine Hardware-IDs wie die IMEI zur Identifizierung verwendet.

Identitäts-

ID Funktion Beschreibung
T-Autofill_Hints Autofill_Hints Alle App-Funktionen verwenden, für die eine Nutzereingabe erforderlich ist. Prüfen Sie, ob die App Vorschläge zum automatischen Ausfüllen von Eingabefeldern für Daten wie Anmeldedaten und andere vertrauliche Informationen anbietet.
T-Credential_Manager Credential_Manager Melden Sie sich in Ihrer App an. Prüfen Sie, ob die App den Credential Manager für Android für die Anmeldung verwendet, um die Unterstützung für Passkeys, Verbundidentität und Passwörter zu vereinheitlichen.
T-Biometric_Authentication Biometric_Authentication Alle App-Funktionen nutzen, für die eine Authentifizierung erforderlich ist. Prüfen Sie, ob die App Finanztransaktionen oder vertrauliche Informationen wie wichtige Nutzerdokumente mit biometrischer Authentifizierung schützt.

App-Komponenten

ID Funktion Beschreibung
T-Component_Export Component_Export Prüfen Sie alle in der Android-Manifestdatei definierten Anwendungskomponenten auf den entsprechenden Exportstatus. Die exportierte Eigenschaft muss für alle Komponenten explizit festgelegt werden.
T-Component_Permissions Component_Permissions Prüfen Sie alle Berechtigungen, die Ihre App benötigt, in der Manifestdatei, zur Laufzeit und in den App-Einstellungen auf dem Gerät (Einstellungen > App-Info).
T-Component_Protection Component_Protection Überprüfen Sie alle in der Android-Manifestdatei definierten Contentanbieter. Achten Sie darauf, dass jeder Anbieter eine entsprechende protectionLevel hat.

Netzwerke

ID Funktion Beschreibung
T-Network_Security_Traffic Network_Security_Traffic Deklarieren Sie eine Netzwerksicherheitskonfiguration, die Klartext-Datenverkehr deaktiviert, und testen Sie die App.
T-Network_Security_Configuration Network_Security_Configuration Prüfen Sie die Netzwerksicherheitskonfiguration der App. Prüfen Sie, ob Lint-Prüfungen für die Konfiguration fehlschlagen.
T-Security_Provider_Initialization Security_Provider_Initialization Prüfen Sie, ob der Sicherheitsanbieter beim Start der Anwendung für die Google Play-Dienste initialisiert wird.

WebViews

ID Funktion Beschreibung
T-WebView_Asset_Loader WebView_Asset_Loader Prüfen Sie die Netzwerksicherheitskonfiguration der App. Prüfen Sie, ob Lint-Prüfungen für die Konfiguration fehlschlagen.
T-WebView_JavaScript WebView_JavaScript Rufen Sie für jedes WebView eine Seite auf, für die JavaScript erforderlich ist.
T-WebView_Navigation WebView_Asset_Loader,
WebView_JavaScript
Versuchen Sie in jeder WebView, zu Websites und Inhalten zu navigieren, die nicht direkt von Ihrer App geladen werden.

Umsetzung

ID Funktion Beschreibung
T-App_Bundles App_Bundles Prüfen Sie, ob die App Android App Bundles verwendet und keinen Code dynamisch von außerhalb des APK der App lädt.

Kryptografie

ID Funktion Beschreibung
T-Cryptographic_Algorithms Cryptographic_Algorithms Prüfen Sie, ob die App starke, plattformbereitgestellte kryptografische Algorithmen und einen Zufallszahlengenerator verwendet. Prüfen Sie außerdem, ob in der App benutzerdefinierte Algorithmen implementiert sind.

Google Play

Prüfen Sie, ob Ihre App für Google Play bereit ist.

Richtlinien

ID Funktion Beschreibung
T-Play_Content_Policies Play-Inhaltsrichtlinien,
Play-Altersfreigabe,
Play-Nutzerrezensionen
Melden Sie sich in der Google Play Developer Console an, um Ihr Entwicklerprofil, die App-Beschreibung, Screenshots, das Feature-Bild, die Altersfreigabe und das Nutzerfeedback zu prüfen.

App-Detailseite

ID Funktion Beschreibung
T-Play_Feature_Graphic Play_Feature_Graphic Laden Sie Ihre Feature-Grafik und Screenshots herunter und passen Sie sie an die Displaygrößen der Geräte und Formfaktoren an, die Sie anvisieren.
T-Play_Graphic_Assets Play_Feature_Graphic,
Play_Device_References,
Play_Misleading_Content
Prüfen Sie alle grafischen Assets, Medien, Texte, Codebibliotheken und anderen Inhalte, die in der App oder im Download der Erweiterungsdatei enthalten sind.

Archivieren

Frühere Versionen der Qualitätsrichtlinien für Apps: