| <html devsite><head> |
| <title>个性化设置</title> |
| <meta name="project_path" value="/_project.yaml"/> |
| <meta name="book_path" value="/_book.yaml"/> |
| </head> |
| <body> |
| <!-- |
| Copyright 2017 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <p> |
| Android 的“设置”应用为 Android 8.0 用户提供了一系列建议。 |
| 这些建议通常有助于改进手机功能,而且可以自定义(例如“设置‘勿扰’时间安排”或“开启 WLAN 通话功能”)。该功能会对建议进行排名(基于任何上下文信号或用户以往的建议采用情况)。 |
| </p> |
| |
| <p> |
| 当前的默认 Android 开放源代码项目 (AOSP) 排名模型基于用户以往的建议采用情况;这是一个简单的线性模型,它通过逻辑回归进行训练,从而正确地对互动信号进行加权。默认实现会使用显示、点击或拒绝的建议作为指标,同时根据这些事件的新近度对建议进行排名,并提高正确预测用户对这些建议的采用情况的概率。该模型是利用有限的已记录用户数据构建而成的。设备制造商 (OEM) 可以根据收集的任何数据开发自己的排名模型,并可能会在后期根据上下文信号校准排名。 |
| </p> |
| |
| <h2 id="implementation">实现</h2> |
| |
| <p> |
| 在 AOSP 中查找默认 <code>packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java</code> 实现。 |
| </p> |
| |
| <p> |
| 此功能由标记 <code>isSmartSuggestionEnabled</code> 进行保护,该标记默认情况下设置为 false。如果启用该功能(设置为 true),则该功能可使用默认 AOSP 实现运行,无需进行其他修改。原始设备制造商 (OEM) 可以使用默认实现或引入自己的实现来启用此功能。 |
| </p> |
| |
| <p> |
| 原始设备制造商 (OEM) 可以通过实现 <code>platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java |
| </code> 功能并替换文件的 <code>rankSuggestions</code> 方法来自定义该功能。 |
| 该方法会获得两个列表,其中包含建议图块及相应的 suggestionId。该方法应仅根据所需排名得分重新排列相应列表中图块的顺序。suggestionId 可以用于唯一标识建议,并根据排名实现(例如,与此特定建议的互动新近度)提取关于该建议的所需过往信息。 |
| </p> |
| |
| <h2 id="validation">验证</h2> |
| |
| <p> |
| 实现人员可以自行编写类似于 <code>packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java</code> 的单元测试以验证排名,从而确保其功能版本能够按预期运行。 |
| </p> |
| |
| </body></html> |