個性化設置

Android 設置應用程序為 Android 8.0 中的用戶提供了一個建議列表。這些建議通常會宣傳電話的功能,並且它們是可定制的(例如,“設置請勿打擾時間表”或“打開 Wi-Fi 通話”)。此功能根據任何上下文信號或用戶過去與建議的交互提供建議排名。

當前默認的 Android 開源項目 (AOSP) 排名模型基於用戶之前與建議的交互,這是一個簡單的線性模型,經過邏輯回歸訓練以適當地加權交互信號。默認實現使用顯示、單擊或關閉的建議作為指標以及這些事件的新近度來對建議進行排名並增加預測用戶與這些建議的交互的機會。該模型是使用有限數量的記錄用戶數據構建的。設備製造商 (OEM) 可以根據收集到的任何數據開發自己的排名模型,並可能包含上下文信號併校準排名。

執行

在 AOSP 中找到默認的packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java實現。

此功能由標誌isSmartSuggestionEnabled保護,默認設置為 false。如果啟用(設置為 true),則該功能無需額外修改即可使用默認 AOSP 實現運行。 OEM 可以使用默認實現或引入自己的實現來啟用此功能。

OEM 可以通過實現platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java功能並覆蓋文件的rankSuggestions方法來自定義該功能。此方法獲取兩個列表,其中包含建議 Tiles 和相應的建議 ID。此方法應僅根據所需的排名分數對列表中的圖塊重新排序。根據排名實施(例如,與此特定建議交互的新近度),suggestIds 可用於唯一標識建議並提取有關建議的所需過去信息。

驗證

實現者可以通過編寫類似於packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java的自己的單元測試來確保他們的功能版本按預期工作,以驗證排名。