Paramètres personnalisés

L'application Paramètres Android fournit une liste de suggestions aux utilisateurs d'Android 8.0. Ces suggestions font généralement la promotion des fonctionnalités du téléphone et sont personnalisables (par exemple, « Définir le programme Ne pas déranger » ou « Activer les appels Wi-Fi »). Cette fonctionnalité permet de classer les suggestions, en fonction de tout signal contextuel ou des interactions passées de l'utilisateur avec les suggestions.

Le modèle de classement par défaut actuel du projet Android Open Source (AOSP) est basé sur les interactions précédentes de l'utilisateur avec la suggestion, qui est un modèle linéaire simple entraîné par régression logistique pour pondérer correctement les signaux d'interaction. L'implémentation par défaut utilise les suggestions affichées, cliquées ou ignorées comme indicateurs ainsi que la récence de ces événements pour classer les suggestions et augmenter les chances de prédire l'interaction d'un utilisateur avec ces suggestions. Ce modèle a été construit avec une quantité limitée de données utilisateur enregistrées. Les fabricants d'appareils (OEM) peuvent développer leur propre modèle de classement basé sur toutes les données collectées et éventuellement inclure des signaux contextuels et calibrer le classement.

Mise en œuvre

Recherchez l'implémentation par défaut packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java dans AOSP.

Cette fonctionnalité est protégée par un indicateur, isSmartSuggestionEnabled , qui est défini sur false par défaut. Si elle est activée (définie sur true), la fonctionnalité fonctionne sans modification supplémentaire en utilisant l'implémentation AOSP par défaut. Les OEM peuvent soit utiliser l'implémentation par défaut, soit introduire leur propre implémentation pour activer cette fonctionnalité.

Les OEM peuvent personnaliser la fonctionnalité en implémentant la fonctionnalité platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java et en remplaçant la méthode rankSuggestions du fichier. Cette méthode obtient deux listes contenant des tuiles de suggestion et les suggestionIds correspondants. Cette méthode doit réorganiser les tuiles de la liste uniquement en fonction du score de classement souhaité. Les suggestionIds peuvent être utilisés pour identifier de manière unique les suggestions et extraire les informations passées requises sur la suggestion, en fonction de l'implémentation du classement (par exemple, la récence de l'interaction avec cette suggestion particulière).

Validation

Les développeurs peuvent s'assurer que leur version de la fonctionnalité fonctionne comme prévu en écrivant leurs propres tests unitaires similaires à packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java pour vérifier le classement.