個性化設置

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 和對應的 suggestId 的清單。此方法應僅根據所需的排名分數對清單中的圖塊重新排序。 suggestIds 可用於唯一地標識建議並提取有關該建議所需的過去信息,具體取決於排名實現(例如,與該特定建議交互的新近度)。

驗證

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