Приложение «Настройки Android» предоставляет список предложений для пользователей Android 8.0. Эти предложения обычно рекламируют функции телефона, и их можно настраивать (например, «Установить расписание режима «Не беспокоить»» или «Включить вызовы по Wi-Fi»). Эта функция обеспечивает ранжирование предложений на основе любого контекстного сигнала или прошлых взаимодействий пользователя с предложениями.
Текущая модель ранжирования Android Open Source Project (AOSP) по умолчанию основана на предыдущих взаимодействиях пользователя с предложением и представляет собой простую линейную модель, обученную с помощью логистической регрессии для правильного взвешивания сигналов взаимодействия. Реализация по умолчанию использует отображаемые, нажатые или отклоненные предложения в качестве индикаторов, а также давность этих событий для ранжирования предложений и повышения вероятности прогнозирования взаимодействия пользователя с этими предложениями. Эта модель была построена с ограниченным количеством зарегистрированных пользовательских данных. Производители устройств (OEM) могут разработать собственную модель ранжирования на основе любых собранных данных и потенциально включать контекстные сигналы и калибровать рейтинг.
Выполнение
Найдите реализацию packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java
по умолчанию в AOSP.
Эта функция защищена флагом isSmartSuggestionEnabled
, для которого по умолчанию установлено значение false. Если эта функция включена (установлено значение true), эта функция работает без дополнительных изменений, используя реализацию AOSP по умолчанию. OEM-производители могут использовать реализацию по умолчанию или ввести собственную реализацию для включения этой функции.
OEM-производители могут настроить эту функцию, реализовав функцию platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
и переопределив метод rankSuggestions
файла. Этот метод получает два списка, содержащие плитки предложений и соответствующие идентификаторы предложений. Этот метод должен переупорядочивать плитки в списке только в соответствии с желаемым рейтингом. Идентификаторы предложения могут использоваться для уникальной идентификации предложений и извлечения необходимой прошлой информации о предложении, в зависимости от реализации ранжирования (например, давности взаимодействия с этим конкретным предложением).
Проверка
Разработчики могут убедиться, что их версия функции работает так, как задумано, написав свои собственные модульные тесты, аналогичные packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java
для проверки рейтинга.