Configuraciones personalizadas

La aplicación de configuración de Android proporciona una lista de sugerencias para los usuarios en Android 8.0. Estas sugerencias generalmente promueven funciones del teléfono y son personalizables (p. ej., "Establecer horario de No molestar" o "Activar llamadas Wi-Fi"). Esta función proporciona una clasificación para las sugerencias, en función de cualquier señal contextual o de 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 adecuadamente las señales de interacción. La implementación predeterminada utiliza las sugerencias que se muestran, se hace clic o se descartan como indicadores junto con la actualidad de estos eventos para clasificar las sugerencias y aumentar la posibilidad de predecir la interacción de un usuario con estas sugerencias. Este modelo se creó con una cantidad limitada de datos de usuario registrados. Los fabricantes de dispositivos (OEM) pueden desarrollar su propio modelo de clasificación en función de los datos recopilados y, potencialmente, incluir señales contextuales y calibrar la clasificación.

Implementación

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

Esta función está protegida por un indicador, isSmartSuggestionEnabled , que se establece en falso de forma predeterminada. Si está habilitada (establecida en verdadero), la función funciona sin modificaciones adicionales utilizando la implementación AOSP predeterminada. Los OEM pueden usar la implementación predeterminada o introducir su propia implementación para habilitar esta función.

Los OEM pueden personalizar la función implementando la función platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java y anulando el método rankSuggestions del archivo. Este método obtiene dos listas que contienen mosaicos de sugerencias y los ID de sugerencia correspondientes. Este método debería reordenar los mosaicos en la lista solo de acuerdo con el puntaje de clasificación deseado. Los ids de sugerencia se pueden usar para identificar sugerencias de manera única y extraer la información anterior requerida sobre la sugerencia, según la implementación de la clasificación (por ejemplo, la interacción reciente 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 unitarias similares a packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java para verificar la clasificación.