Impostazioni personalizzate

L'app Impostazioni Android fornisce un elenco di suggerimenti agli utenti in Android 8.0. Questi suggerimenti in genere promuovono le funzionalità del telefono e sono personalizzabili (ad esempio, "Imposta la pianificazione Non disturbare" o "Attiva chiamate Wi-Fi"). Questa funzionalità fornisce la classificazione dei suggerimenti, in base a qualsiasi segnale contestuale o alle interazioni passate dell'utente con i suggerimenti.

L'attuale modello di classificazione predefinito di Android Open Source Project (AOSP) si basa sulle precedenti interazioni dell'utente con il suggerimento, che è un semplice modello lineare addestrato con la regressione logistica per ponderare adeguatamente i segnali di interazione. L'implementazione predefinita utilizza i suggerimenti mostrati, selezionati o ignorati come indicatori insieme all'attualità di questi eventi per classificare i suggerimenti e aumentare la possibilità 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 classificazione basato su tutti i dati raccolti e potenzialmente includere segnali contestuali e calibrare la classifica.

Implementazione

Trova l'implementazione predefinita 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 abilitata (impostata su true), la funzionalità funziona senza ulteriori modifiche utilizzando l'implementazione AOSP predefinita. Gli OEM possono utilizzare l'implementazione predefinita o introdurre la propria implementazione per abilitare questa funzionalità.

Gli OEM possono personalizzare la funzionalità implementando la funzionalità platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java e sovrascrivendo il metodo rankSuggestions del file. Questo metodo ottiene due elenchi contenenti i riquadri dei suggerimenti e i corrispondenti suggestId. Questo metodo dovrebbe riordinare le tessere nell'elenco solo in base al punteggio di classifica desiderato. I suggestionId possono essere utilizzati per identificare in modo univoco i suggerimenti ed estrarre le informazioni passate richieste sul suggerimento, a seconda dell'implementazione della classifica (ad esempio, l'attualità dell'interazione con questo particolare suggerimento).

Validazione

Gli implementatori possono garantire che la loro versione della funzionalità funzioni come previsto scrivendo i propri test unitari simili a packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java per verificare la classifica.