Configuración personalizada

La app de Configuración de Android proporciona una lista de sugerencias a los usuarios en Android 8.0. Por lo general, estas sugerencias promocionan funciones del teléfono y se pueden personalizar (p.ej., "Establecer programación de No interrumpir" o "Activar Llamadas por Wi-Fi"). Esta función proporciona una clasificación para las sugerencias, según cualquier indicador contextual o las interacciones anteriores del usuario con las sugerencias.

El modelo de clasificación predeterminado actual del Proyecto de código abierto de Android (AOSP) se basa en las interacciones anteriores del usuario con la sugerencia, que es un modelo lineal simple entrenado con regresión logística para ponderar correctamente los indicadores de interacción. La implementación predeterminada usa las sugerencias que se muestran, en las que se hace clic o que se descartan como indicadores, junto con la actualidad de estos eventos para clasificar las sugerencias y aumentar las probabilidades de predecir la interacción de un usuario con ellas. Este modelo se compiló con una cantidad limitada de datos de usuarios registrados. Los fabricantes de dispositivos (OEMs) pueden desarrollar su propio modelo de clasificación en función de los datos recopilados y, potencialmente, incluir indicadores contextuales y calibrar la clasificación.

Implementación

Busca la implementación predeterminada de packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java en AOSP.

Esta función está protegida por una marca, isSmartSuggestionEnabled, que se establece en "falso" de forma predeterminada. Si está habilitada (se establece como verdadera), la función opera sin modificaciones adicionales con la implementación predeterminada de AOSP. Los OEMs pueden usar la implementación predeterminada o presentar su propia implementación para habilitar esta función.

Los OEMs pueden implementar la función platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java y anular el método rankSuggestions del archivo para personalizarla. Este método obtiene dos listas que contienen tarjetas de sugerencias y los suggestionIds correspondientes. Este método debe reordenar las tarjetas de la lista solo según la puntuación de clasificación deseada. Los suggestionIds se pueden usar para identificar sugerencias de forma única y extraer la información anterior requerida sobre la sugerencia, según la implementación de la clasificación (p.ej., la recencia de la interacción con esta sugerencia en particular).

Validación

Los implementadores pueden asegurarse de que su versión de la función funcione según lo previsto escribiendo sus propias pruebas de unidades similares a packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java para verificar la clasificación.