Grundlegende Qualitätsrichtlinien für Apps

langfristigen Erfolg Ihrer App in Bezug auf Anzahl der Installationen und Nutzerrezensionen, Interaktionen und Bindung.

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, Computer, verbundene Displays, Infotainmentsysteme im Auto, Fernseher und XR-Geräte. Mit Fenstermodi wie dem Splitscreen 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

Ihre App sollte das visuelle Design und die Interaktionsmuster von Android verwenden, um eine einheitliche und intuitive Nutzererfahrung zu bieten.

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-Look-and-Feel sowie eine einheitliche Benutzeroberfläche für alle Android-Versionen.

ID Tests Beschreibung
Nutzerfreundlichkeit
Nutzerfreundlichkeit:UX T-Usability:Core,
T-SD-Card
Die App bietet bei allen Anwendungsfällen und auf allen Formfaktoren eine einheitliche Nutzererfahrung.
Nutzerfreundlichkeit:Umschalter T-Usability: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 Auswahl für kürzlich verwendete Apps reaktiviert wird.
Nutzerfreundlichkeit:Schlaf T-Usability:Sleep,
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.
Bedienbarkeit:Schloss T-Usability:Lock,
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
UI:Parity T-UI:Transitions

Die Displayausrichtungen und Faltzustände bieten im Wesentlichen dieselben Funktionen und Aktionen und sorgen für funktionale Parität.

UI:Fullscreen T-UI: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.

Benutzeroberfläche:Übergänge T-UI: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
Visuell:Display T-Visual:Display

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
Visuell:Lesbarkeit T-Visual:Readability 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.
Visuell:Designs T-Visual:Themes Die Inhalte der App und alle Webinhalte, auf die über die App zugegriffen wird, unterstützen sowohl helle als auch dunkle Designs.
Navigation
T-Nav:Back 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.
T-Nav:Back Die App unterstützt die Bedienung über Gesten zum Zurückgehen und Aufrufen des Startbildschirms.
T-Nav:State,
T-Nav:Back

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
Benachrichtigen:Info T-Notify:Info

Benachrichtigungen enthalten relevante Informationen zu Ihrer App.

Benachrichtigen:Messaging T-Notify:Info

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

Bedienungshilfen
Zugriff:Ziele T-Access:Targets Berührungszielbereiche sind mindestens 48 dp groß. Weitere Informationen finden Sie in den Material Design-Richtlinien zu Layout und Typografie.
Access:Contrast T-Access:Contrast

Der App-Text und die Vordergrundinhalte 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

Zugriff:Beschreibung T-Access:Description Beschreiben Sie jedes UI-Element, mit Ausnahme von TextView, mit contentDescription.

Funktionalität

Ihre App sollte die folgenden Funktionen bieten.

ID Tests Beschreibung
Audio
Audio:Init T-Audio:Init

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 T-Audio:Focus Die App sollte Audiofokus anfordern, wenn die Audiowiedergabe beginnt, und den Audiofokus aufgeben, wenn die Wiedergabe beendet wird.
Audio:Unterbrechen T-Audio:Interrupt Die App sollte Anfragen anderer Apps zum Audiofokus verarbeiten. Eine App kann beispielsweise die Wiedergabelautstärke verringern, wenn eine andere App Sprache wiedergibt.
Audio:Background T-Audio:Background Die App muss die Wiedergabe im Hintergrund unterstützen.
Audio:Benachrichtigung T-Audio:Notification Wenn die App Audio im Hintergrund wiedergibt, muss sie eine Benachrichtigung mit dem Stil MediaStyle erstellen.
Audio:Fortsetzen T-Audio: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
Video:BiB T-Video:PiP Wenn die App Videos abspielt, sollte sie die Bild-im-Bild-Wiedergabe unterstützen.
Video:Codierung T-Video:Encoding Wenn die App Videos codiert, sollte sie dies mit dem HEVC-Videokomprimierungsstandard tun.
Teilen
Freigabe:Tabelle T-Sharing:Sheet 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
Hintergrund:Dienste T-Background:Services

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.

ID Tests Beschreibung
Leistung
Leistung:Startup T- Performance:Startup Die App wird schnell geladen oder bietet dem Nutzer Feedback auf dem Bildschirm (eine Fortschrittsanzeige oder einen ähnlichen Hinweis), wenn das Laden der App länger als zwei Sekunden dauert.
Leistung:FPS T-Performance:FPS 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.
Leistung:Streng T-Performance:Strict Wenn StrictMode aktiviert ist (siehe den Testabschnitt StrictMode), sind beim Testen der App keine roten Blitze (Leistungswarnungen von StrictMode) zu sehen.
Stabilität
Stabilität: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
SDK:Platform T-SDK:Platform Die App wird auf der neuesten öffentlichen Version der Android-Plattform ausgeführt, ohne abzustürzen oder die Kernfunktionen erheblich zu beeinträchtigen.
SDK:Target T-SDK:Latest 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.
SDK:Compile T-SDK:Latest Die App wurde mit dem neuesten Android SDK erstellt, indem der Wert compileSdk in der build.gradle-Datei des App-Moduls festgelegt wurde.
SDK:3P T-SDK:3P,
T-SDK:Non

Alle verwendeten Google- oder Drittanbieter-SDKs sind auf dem neuesten Stand. Alle Verbesserungen an diesen 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.

SDK:Non T-SDK:Non Die App verwendet keine Nicht-SDK-Schnittstellen.
SDK:Debug T-SDK:Debug Die Produktions-App enthält keine Debug-Bibliotheken. Debug-Bibliotheken in der App können zu Leistungs- und Sicherheitsproblemen führen.
Akku
Akku:Verwalten T-Battery:Manage (T-Battery: Verwalten)

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.

ID Tests Beschreibung
Berechtigungen
Berechtigungen:Min T-Permissions:Min 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.
Berechtigungen:Sensibel T-Berechtigungen:Sensibel

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.

Berechtigungen:Laufzeit T-Permissions:Runtime Die App fordert Laufzeitberechtigungen an, wenn die entsprechende Funktion angefordert wird, und nicht beim Start der App.
Berechtigungen:Erläutern T-Permissions:Explain Die App erklärt deutlich, warum Berechtigungen erforderlich sind.
Berechtigungen:Herabstufung T-Permissions:Degrade 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
Data:Sensitive T-Data:Sensitive,
T-Data:Handling
Alle vertraulichen Daten werden im internen Speicher der App gespeichert.
Data:Log T-Data:Log Es werden keine personenbezogenen oder vertraulichen Nutzerdaten im Systemlog oder in einem app-spezifischen Log protokolliert.
Data:IDs T-Data:IDs Die App verwendet keine nicht zurücksetzbaren Hardware-IDs wie die IMEI zu Identifikationszwecken.
Identitäts-
Identity:Hints T-Identity:Hints Die App bietet Vorschläge zum automatischen Ausfüllen von Anmeldedaten und anderen vertraulichen Informationen wie Kreditkartendaten, Adressen und Telefonnummern.
Identität:CredMan T-Identity:CredMan 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.
Identität:Biografie T-Identity:Bio Die App unterstützt die biometrische Authentifizierung zum Schutz von Finanztransaktionen oder sensiblen Informationen wie wichtigen Nutzerdokumenten.
App-Komponenten
Komponenten:Exportieren T-Components: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.

Komponenten:Berechtigungen T-Components:Permissions

Alle Intents und Broadcasts entsprechen den Best Practices:

Komponenten:Schutz T-Components: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
Network:Traffic T-Network:Traffic Der gesamte Netzwerkverkehr wird über SSL gesendet.
Network:Config T-Network:Config Die App deklariert eine Netzwerksicherheitskonfiguration.
Netzwerk:Play T-Network:Play Wenn die App Google Play-Dienste verwendet, wird der Sicherheitsanbieter beim Start der Anwendung initialisiert.
WebViews
WebViews:Config T-WebViews:Config,
T-WebViews:Nav
Verwenden Sie nicht setAllowUniversalAccessFromFileURLs() , um auf lokale Inhalte zuzugreifen. Verwenden Sie stattdessen WebViewAssetLoader.
WebViews:JavaScript T-WebViews:JavaScript,
T-WebViews:Nav

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
Ausführung:Bundles T-Execution: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
Crypto:Algorithms T-Crypto:Algorithms Die App verwendet einen String, von der Plattform bereitgestellte 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.

ID Tests Beschreibung
Richtlinien
Play:Policies T-Play:Richtlinien 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:Maturity T-Play:Richtlinien Die Altersfreigabe der App wird gemäß den Richtlinien zur Altersfreigabe festgelegt.
App-Detailseite
Play:Graphics T-Play:Graphics,
T-Play:Assets

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

  • Das App-Eintrag enthält eine hochwertige Vorstellungsgrafik
  • Die Feature-Grafik enthält keine Gerätebilder, Screenshots oder kleinen Text, der beim Herunterskalieren und Anzeigen auf dem kleinsten Bildschirm, für den Ihre App vorgesehen ist, unlesbar ist.
  • Die Vorstellungsgrafik ähnelt keiner Anzeige.
Play:NonAndroid T-Play:Assets App-Screenshots und ‑Videos zeigen oder verweisen nicht auf Nicht-Android-Geräte.
Play:Irreführend T-Play:Assets App-Screenshots oder ‑Videos stellen den Inhalt und die Nutzung Ihrer App nicht auf irreführende Weise dar.
Nutzer-Support
Play:Bugs T-Play:Richtlinien 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 Smartphones: 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 sich die neuesten Verhaltensänderungen 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

ID Funktion Beschreibung
Nutzerfreundlichkeit
T-Usability:Core Benutzerfreundlichkeit: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-Usability:Switcher Bedienbarkeit:Umschalter 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-Usability:Sleep Bedienbarkeit:Schlaf 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-Usability:Lock Bedienbarkeit:Verriegeln 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
T-SD-Karte Benutzerfreundlichkeit: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
T-UI:Transitions UI:Parity,
UI:Fullscreen,
UI: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
T-Visual:Display Visuell:Display 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-Visual:Readability Visuell:Lesbarkeit

Prüfen Sie alle Textblöcke in der App. Achten Sie darauf, dass die Zeilenlänge von Text und Textblöcken aus Gründen der 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-Visual:Themes Visual → Themes Prüfen Sie, ob der gesamte Text sowohl im hellen als auch im 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.
Navigation
T-Nav:Back Nav:BackButton,
Nav:BackGesture

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-Nav:State Nav:State 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
T-Notify:Info Notify:Info,
Notify:Messaging
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
T-Access:Targets Zugriff:Ziele 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-Access:Contrast Zugriff:Kontrast Prüfen Sie den Kontrast aller visuellen Elemente.
T-Access:Description Access:Description Prüfen Sie, ob alle UI-Elemente außer TextView Inhaltsbeschreibungen haben.

Funktionalität

ID Funktion Beschreibung
Audio
T-Audio:Init Audio:Init 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 Audio:Fokus Audiowiedergabe starten Die App sollte Audiofokus anfordern. Wenn die Audiowiedergabe beendet wird, sollte die App den Audiofokus aufgeben. Das geschieht automatisch bei Apps, die auf Android 12 (API‑Level 31) und höher ausgerichtet sind.
T-Audio:Interrupt Audio:Interrupt 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:Background Audio:Background (Audio:Hintergrund) Audiowiedergabe starten Interagiere mit einer anderen Nicht-Audio-App als Vordergrund-App. Die App sollte weiterhin Audio im Hintergrund abspielen.
T-Audio:Notification Audio:Notification 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:Resume Audio:Resume Audiowiedergabe starten Interagieren Sie mit einer anderen App, die keine Audio-App ist, sodass sie zur Vordergrund-App wird. Interagieren Sie dann 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.
T-Video:BiB Video:BiB Aktivieren Sie die Videowiedergabe in Apps im Bild-im-Bild-Modus.
T-Video:Codierung Video:Codierung Prüfen Sie, ob die App Videos mit dem HEVC-Videokomprimierungsstandard codiert.
Teilen
Freigabe:Tabelle 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 Sharesheet verwenden. In Ihrer App sollte das Android-Sharesheet angezeigt werden.
Hintergrunddienste
CR-6 Hintergrund:Dienste

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

ID Funktion Beschreibung
Leistung
T-Leistung:Startup Leistung:Start 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-Performance:FPS Leistung:FPS 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-Performance:Strict Leistung:Streng

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
T-Stability:ANR Stabilität: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
T-SDK:Platform SDK:Platform Führen Sie Ihre App auf der neuesten öffentlichen Version der Android-Plattform aus. Alle wichtigen Funktionen verwenden. Prüfen Sie, ob die App abstürzt und ob die Hauptfunktionen ohne Einschränkungen ausgeführt werden.
T-SDK:Latest SDK:Target,
SDK:Compile
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:3P SDK:3P Prüfen Sie die Datei build.gradle Ihrer App auf veraltete Abhängigkeiten.
T-SDK:Non SDK:Non 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-SDK:Debug SDK:Debug Prüfen Sie die build.gradle-Datei Ihrer App auf enthaltene Debug-Bibliotheken.
Akku
T-Battery:Manage Akku:Verwalten

Alle wichtigen App-Funktionen im Doze- und App-Standby-Modus verwenden Prüfen Sie, ob Wecker, Timer, Benachrichtigungen und Synchronisierungen im Wartungszeitraum von Doze 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

ID Funktion Beschreibung
Berechtigungen
T-Permissions:Min Berechtigungen:Min 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-Permissions:Sensitive Berechtigungen:Sensibel 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-Permissions:Runtime Berechtigungen:Laufzeit 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-Permissions:Explain Berechtigungen:Erläutern 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-Permissions:Degrade Berechtigungen:Herabstufen 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
T-Data:Sensitive Data:Sensitive Überprüfen Sie alle Daten, die im internen Speicher gespeichert sind. Prüfen Sie, ob extern gespeicherte Daten keine sensiblen Daten sind.
T-Data:Handling Data:Sensitive Prüfen Sie, wie die aus dem externen Speicher geladenen Daten verarbeitet werden.
T-Data:Log Daten:Protokoll Verwenden Sie alle wichtigen App-Funktionen und beobachten Sie dabei das Geräteprotokoll. Prüfen Sie, ob keine privaten Nutzerinformationen protokolliert werden.
T-Data:IDs Data:IDs Alle wichtigen App-Funktionen verwenden. Prüfen Sie, ob die App keine Hardware-IDs wie die IMEI zu Identifikationszwecken verwendet.
Identitäts-
T-Identity:Hints Identity: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-Identity:CredMan Identity:CredMan 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-Identity:Bio Identity:Bio 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
T-Components:Export Components: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-Components:Berechtigungen Komponenten:Berechtigungen 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-Components:Protection Komponenten:Schutz Überprüfen Sie alle in der Android-Manifestdatei definierten Contentanbieter. Achten Sie darauf, dass jeder Anbieter eine entsprechende protectionLevel hat.
Netzwerke
T-Network:Traffic Network:Traffic Deklarieren Sie eine Netzwerksicherheitskonfiguration, die Klartext-Datenverkehr deaktiviert, und testen Sie die App.
T-Network:Config Network:Config Prüfen Sie die Netzwerksicherheitskonfiguration der App. Prüfen Sie, ob Lint-Prüfungen für die Konfiguration fehlschlagen.
T-Network:Play Netzwerk:Play Prüfen Sie, ob der Sicherheitsanbieter beim Start der Anwendung für die Google Play-Dienste initialisiert wird.
WebViews
T-WebViews:Config WebViews:Config Prüfen Sie die Netzwerksicherheitskonfiguration der App. Prüfen Sie, ob Lint-Prüfungen für die Konfiguration fehlschlagen.
T-WebViews:JavaScript WebViews:JavaScript Rufen Sie für jedes WebView eine Seite auf, für die JavaScript erforderlich ist.
T-WebViews:Nav WebViews:Config,
WebViews:JavaScript
Versuchen Sie in jeder WebView, zu Websites und Inhalten zu navigieren, die nicht direkt von Ihrer App geladen werden.
Umsetzung
T-Execution:Bundles Ausführung: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
T-Crypto:Algorithms Crypto: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

ID Funktion Beschreibung
Richtlinien
T-Play:Policies Play:Policies,
Play:Maturity,
Play:Bugs
Melden Sie sich in der Google Play Console an, um Ihr Entwicklerprofil, die App-Beschreibung, Screenshots, das Titelbild, die Altersfreigabe und das Nutzerfeedback zu prüfen.
App-Detailseite
T-Play:Graphics Play:Graphics 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:Assets Play:Graphics,
Play:NonAndroid,
Play:Misleading
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: