Персональные настройки

Приложение «Настройки 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 , чтобы проверить ранжирование.