L'app Impostazioni di Android fornisce un elenco di suggerimenti agli utenti in Android 8.0. Questi suggerimenti in genere promuovono le funzionalità dello smartphone e sono personalizzabili (ad es. "Imposta la programmazione della modalità Non disturbare" o "Attiva le chiamate Wi-Fi"). Questa funzionalità fornisce un ranking per i suggerimenti, in base a qualsiasi indicatore contestuale o alle interazioni passate dell'utente con i suggerimenti.
L'attuale modello di ranking predefinito di Android Open Source Project (AOSP) si basa sulle interazioni precedenti dell'utente con il suggerimento, ovvero un semplice modello lineare addestrato con la regressione logistica per ponderare correttamente gli indicatori di interazione. L'implementazione predefinita utilizza i suggerimenti mostrati, su cui è stato fatto clic o che sono stati ignorati come indicatori, insieme alla pertinenza di questi eventi, per classificare i suggerimenti e aumentare le probabilità di prevedere l'interazione di un utente con questi suggerimenti. Questo modello è stato creato con una quantità limitata di dati utente registrati. I produttori di dispositivi (OEM) possono sviluppare il proprio modello di ranking in base ai dati raccolti e potenzialmente includere indicatori contestuali e calibrare il ranking.
Implementazione
Trova l'implementazione predefinita di packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java
in AOSP.
Questa funzionalità è protetta da un flag, isSmartSuggestionEnabled
, che è impostato su false per impostazione predefinita. Se è attiva (impostata su true), la funzionalità funziona senza ulteriori modifiche utilizzando l'implementazione AOSP predefinita. Gli OEM possono utilizzare l'implementazione predefinita o introdurne una propria per attivare questa funzionalità.
Gli OEM possono personalizzare la funzionalità implementando la funzionalità platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
e sostituendo il metodo rankSuggestions
del file.
Questo metodo recupera due elenchi contenenti riquadri di suggerimenti e i relativi
suggestionId. Questo metodo deve riordinare i riquadri nell'elenco solo in base al punteggio del ranking desiderato. I valori suggestionId possono essere utilizzati per identificare in modo univoco i suggerimenti ed estrarre le informazioni passate richieste sul suggerimento, a seconda dell'implementazione del ranking (ad es. la frequenza di interazione con questo determinato suggerimento).
Convalida
Gli implementatori possono assicurarsi che la loro versione della funzionalità funzioni come previsto scrivendo i propri test di unità simili a packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java
per verificare il ranking.