Die Android-Einstellungen-App bietet Benutzern in Android 8.0 eine Liste mit Vorschlägen. Diese Vorschläge fördern in der Regel Funktionen des Telefons und sind anpassbar (z. B. „Zeitplan „Bitte nicht stören“ festlegen“ oder „WLAN-Anrufe aktivieren“). Diese Funktion bietet eine Rangfolge für Vorschläge, basierend auf einem beliebigen Kontextsignal oder den früheren Interaktionen des Benutzers mit Vorschlägen.
Das aktuelle Standard-Rankingmodell des Android Open Source Project (AOSP) basiert auf früheren Interaktionen des Benutzers mit dem Vorschlag. Dabei handelt es sich um ein einfaches lineares Modell, das mit logistischer Regression trainiert wurde, um die Interaktionssignale richtig zu gewichten. Die Standardimplementierung verwendet angezeigte, angeklickte oder verworfene Vorschläge als Indikatoren zusammen mit der Aktualität dieser Ereignisse, um die Vorschläge einzuordnen und die Chance zu erhöhen, die Interaktion eines Benutzers mit diesen Vorschlägen vorherzusagen. Dieses Modell wurde mit einer begrenzten Menge protokollierter Benutzerdaten erstellt. Gerätehersteller (OEMs) können ihr eigenes Ranking-Modell auf der Grundlage aller gesammelten Daten entwickeln und möglicherweise kontextbezogene Signale einbeziehen und das Ranking kalibrieren.
Implementierung
Suchen Sie in AOSP nach der Standardimplementierung packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java
.
Diese Funktion wird durch ein Flag geschützt, isSmartSuggestionEnabled
, das standardmäßig auf „false“ gesetzt ist. Wenn aktiviert (auf „true“ gesetzt), funktioniert die Funktion ohne zusätzliche Änderungen unter Verwendung der Standard-AOSP-Implementierung. OEMs können entweder die Standardimplementierung verwenden oder ihre eigene Implementierung einführen, um diese Funktion zu aktivieren.
OEMs können die Funktion anpassen, indem sie die Funktion platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
implementieren und die rankSuggestions
Methode der Datei überschreiben. Diese Methode ruft zwei Listen mit Vorschlagskacheln und den entsprechenden Vorschlags-IDs ab. Diese Methode sollte die Kacheln in der Liste nur entsprechend der gewünschten Rangfolge neu anordnen. Die Vorschlags-IDs können verwendet werden, um Vorschläge eindeutig zu identifizieren und die erforderlichen früheren Informationen über den Vorschlag zu extrahieren, abhängig von der Ranking-Implementierung (z. B. Aktualität der Interaktion mit diesem bestimmten Vorschlag).
Validierung
Implementierer können sicherstellen, dass ihre Version der Funktion wie vorgesehen funktioniert, indem sie ihre eigenen Komponententests schreiben, ähnlich wie packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java
um das Ranking zu überprüfen.