Od 27 marca 2025 r. zalecamy używanie android-latest-release
zamiast aosp-main
do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
Spersonalizowane ustawienia
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
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.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# Personalized settings\n\nThe Android Settings app provides a list of suggestions to the users in Android 8.0.\nThese suggestions typically promote features of the phone, and they are customizable\n(e.g., \"Set Do Not Disturb schedule\" or \"Turn on Wi-Fi Calling\"). This feature provides\nranking for suggestions, based on any contextual signal or the user's past interactions\nwith suggestions.\n\n\nThe current default Android Open Source Project (AOSP) ranking model is based on\nuser's previous interactions with the suggestion, which is a simple linear model\ntrained with logistic regression to properly weight the interaction signals. The\ndefault implementation uses suggestions shown, clicked or dismissed as\nindicators along with the recency of these events to rank the suggestions and\nincrease the chance of predicting a user's interaction with these suggestions.\nThis model was built with a limited amount of logged user data. Device manufacturers\n(OEMs) can develop their own ranking model based on any collected data and potentially\ninclude contextual signals and calibrate the ranking.\n\nImplementation\n--------------\n\n\nFind the default `packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java` implementation in AOSP.\n\n\nThis feature is guarded by a flag, `isSmartSuggestionEnabled`, which\nis set to false by default. If enabled (set to true), the feature operates\nwithout additional modification using the default AOSP implementation. OEMs can\neither use the default implementation or introduce their own implementation to\nenable this feature.\n\n\nOEMs may customize the feature by implementing `platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java\n` feature and Overriding the file's `rankSuggestions` method.\nThis method gets two lists containing suggestion Tiles and the corresponding\nsuggestionIds. This method should reorder the tiles in the list only according\nto the desired ranking score. The suggestionIds can be used to uniquely identify\nsuggestions and extract the required past information about the suggestion,\ndepending on the ranking implementation (e.g., recency of interaction with this\nparticular suggestion).\n\nValidation\n----------\n\n\nImplementers can ensure their version of the feature works as intended by\nwriting their own unit tests similar to `packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java` to verify the ranking."]]