A partir de 27 de março de 2025, recomendamos usar android-latest-release
em vez de aosp-main
para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Configurações personalizadas
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O app Configurações do Android oferece uma lista de sugestões para os usuários no Android 8.0.
Essas sugestões geralmente promovem recursos do smartphone e são personalizáveis
(por exemplo, "Definir programação do Não perturbe" ou "Ativar a chamada por Wi-Fi"). Esse recurso fornece
classificação para sugestões com base em qualquer indicador contextual ou nas interações anteriores do usuário
com sugestões.
O modelo de classificação padrão atual do Projeto Android Open Source (AOSP, na sigla em inglês) é baseado nas
interações anteriores do usuário com a sugestão, que é um modelo linear simples
treinado com regressão logística para ponderar corretamente os indicadores de interação. A
implementação padrão usa sugestões mostradas, clicadas ou dispensadas como
indicadores, junto com a recência desses eventos para classificar as sugestões e
aumentar a chance de prever a interação de um usuário com essas sugestões.
Esse modelo foi criado com uma quantidade limitada de dados de usuários registrados. Os fabricantes de dispositivos
(OEMs) podem desenvolver o próprio modelo de classificação com base em qualquer dado coletado e, possivelmente,
incluir indicadores contextuais e calibrar a classificação.
Implementação
Encontre a implementação padrão de packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java
no AOSP.
Esse recurso é protegido por uma flag, isSmartSuggestionEnabled
, que
é definida como falsa por padrão. Se ativado (definido como "true"), o recurso funciona
sem modificações adicionais usando a implementação padrão do AOSP. Os OEMs podem
usar a implementação padrão ou introduzir a própria implementação para
ativar esse recurso.
Os OEMs podem personalizar o recurso implementando o recurso platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
e substituindo o método rankSuggestions
do arquivo.
Esse método recebe duas listas que contêm blocos de sugestões e os
suggestionIds correspondentes. Esse método precisa reordenar os blocos na lista apenas de acordo
com a pontuação de classificação desejada. Os suggestionIds podem ser usados para identificar de forma exclusiva
as sugestões e extrair as informações anteriores necessárias sobre elas,
dependendo da implementação de classificação (por exemplo, a recência da interação com essa
sugestão específica).
Validação
Os implementadores podem garantir que a versão do recurso funcione conforme o esperado
escrevendo os próprios testes de unidade semelhantes a packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java
para verificar a classificação.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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."]]