Spersonalizowane ustawienia

Aplikacja Ustawienia Androida zawiera listę sugestii dla użytkowników w Androidzie 8.0. Te sugestie zwykle promują funkcje telefonu i można je dostosować (np. „Ustaw harmonogram trybu Nie przeszkadzać” lub „Włącz połączenia przez Wi-Fi”). Ta funkcja zapewnia ranking sugestii na podstawie sygnałów kontekstowych lub wcześniejszych interakcji użytkownika z sugestiami.

Aktualny domyślny model rankingu Android Open Source Project (AOSP) opiera się na wcześniejszych interakcjach użytkownika z propozycją. Jest to prosty model liniowy wytrenowany za pomocą regresji logistycznej, który odpowiednio waży sygnały interakcji. Implementacja domyślna używa wyświetlanych, klikniętych lub odrzuconych sugestii jako wskaźników wraz z aktualnością tych zdarzeń do ich porządkowania i zwiększania szans na przewidzenie interakcji użytkownika z tymi sugestiami. Ten model został utworzony na podstawie ograniczonej ilości zarejestrowanych danych użytkowników. Producenci urządzeń (OEM) mogą opracować własny model rankingu na podstawie zebranych danych i potencjalnie uwzględniać sygnały kontekstowe oraz kalibrować ranking.

Implementacja

Znajdź domyślną implementację packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java w AOSP.

Ta funkcja jest chroniona za pomocą flagi isSmartSuggestionEnabled, która domyślnie jest ustawiona na wartość false. Jeśli jest włączona (ustawienie ma wartość true), funkcja działa bez dodatkowych modyfikacji, korzystając z domyślnej implementacji AOSP. Producenci OEM mogą użyć domyślnej implementacji lub wdrożyć własną implementację, aby włączyć tę funkcję.

Producenci OEM mogą dostosować tę funkcję, implementując funkcję platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java i zastępując metodę rankSuggestions pliku. Ta metoda pobiera 2 listy zawierające kafelki sugestii i odpowiednie identyfikatory sugestii. Ta metoda powinna zmieniać kolejność kafelków na liście tylko zgodnie z pożądaną wartością punktacji rankingu. Identyfikatory sugestii można wykorzystać do jednoznacznego identyfikowania sugestii i wyodrębniania wymaganych informacji o niej z przeszłości, w zależności od implementacji rankingu (np. ostatnia interakcja z danym użytkownikiem).

Weryfikacja

Implementatorzy mogą mieć pewność, że ich wersja funkcji działa zgodnie z oczekiwaniami, pisząc własne testy jednostek podobne do packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java, aby zweryfikować ranking.