Android 설정 앱은 Android 8.0 사용자를 위한 권장사항 목록을 제공합니다. 이러한 권장사항은 일반적으로 휴대전화의 기능을 홍보하기 위한 용도이며, 맞춤설정이 가능합니다. (예: ''방해 금지 모드 일정 설정' 또는 'Wi-Fi 통화 사용 설정') 이 기능은 문맥 시그널 또는 추천과 관련된 사용자의 이전 상호작용에 따라 추천 순위를 알려줍니다.
현재의 기본적인 AOSP(Android Open Source Project) 순위 모델은 추천과 관련된 사용자의 이전 상호작용에 기반하며, 이는 상호작용 시그널을 제대로 측정하기 위한 로지스틱 회귀로 트레이닝된 단순한 선형 모델입니다. 기본 구현에서는 표시되었거나 클릭되었거나 닫힌 추천, 그리고 이러한 이벤트가 얼마나 최근에 발생했는지를 지표로 활용하여 추천 순위를 결정하고 이러한 추천에 대한 사용자의 상호작용을 예측할 수 있는 가능성을 높입니다. 이 모델은 제한된 양의 로그된 사용자 데이터로 구축되었습니다. 기기 제조업체(OEM)는 수집한 모든 데이터를 토대로 자체 순위 모델을 개발할 수 있으며, 문맥 시그널을 포함하고 순위를 보정할 수도 있습니다.
구현
AOSP에서 기본 packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java
구현을 찾습니다.
이 기능은 기본으로 false로 설정된 플래그, isSmartSuggestionEnabled
에 의해
보호됩니다. 사용 설정된 경우(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
와 유사한 자체 단위 테스트를 작성하여 기능의
자체 버전이 의도대로 작동하는지 확인할 수 있습니다.