Ứng dụng Cài đặt Android cung cấp danh sách đề xuất cho người dùng trong Android 8.0. Những đề xuất này thường quảng bá các tính năng của điện thoại và chúng có thể tùy chỉnh (ví dụ: "Đặt lịch không làm phiền" hoặc "Bật tính năng gọi qua Wi-Fi"). Tính năng này cung cấp thứ hạng cho các đề xuất, dựa trên bất kỳ tín hiệu ngữ cảnh nào hoặc các tương tác trước đây của người dùng với các đề xuất.
Mô hình xếp hạng Dự án nguồn mở Android (AOSP) mặc định hiện tại dựa trên các tương tác trước đây của người dùng với đề xuất. Đây là một mô hình tuyến tính đơn giản được huấn luyện bằng hồi quy logistic để cân nhắc chính xác các tín hiệu tương tác. Việc triển khai mặc định sử dụng các đề xuất được hiển thị, được nhấp hoặc loại bỏ dưới dạng chỉ báo cùng với mức độ gần đây của các sự kiện này để xếp hạng các đề xuất và tăng cơ hội dự đoán tương tác của người dùng với các đề xuất này. Mô hình này được xây dựng với một lượng dữ liệu người dùng được ghi lại có giới hạn. Các nhà sản xuất thiết bị (OEM) có thể phát triển mô hình xếp hạng của riêng họ dựa trên mọi dữ liệu được thu thập và có thể bao gồm các tín hiệu theo ngữ cảnh và hiệu chỉnh thứ hạng.
Thực hiện
Tìm cách triển packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java
trong AOSP.
Tính năng này được bảo vệ bởi cờ isSmartSuggestionEnabled
, được đặt thành false theo mặc định. Nếu được bật (được đặt thành true), tính năng này sẽ hoạt động mà không cần sửa đổi bổ sung bằng cách triển khai AOSP mặc định. OEM có thể sử dụng cách triển khai mặc định hoặc giới thiệu cách triển khai của riêng họ để kích hoạt tính năng này.
OEM có thể tùy chỉnh tính năng này bằng cách triển khai tính năng platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
và Ghi đè phương thức rankSuggestions
của tệp. Phương thức này nhận hai danh sách chứa Ô gợi ý và Id gợi ý tương ứng. Phương pháp này chỉ nên sắp xếp lại các ô trong danh sách theo điểm xếp hạng mong muốn. Các ID gợi ý có thể được sử dụng để xác định duy nhất các đề xuất và trích xuất thông tin cần thiết trước đây về đề xuất, tùy thuộc vào việc triển khai xếp hạng (ví dụ: lần tương tác gần đây với đề xuất cụ thể này).
Thẩm định
Người triển khai có thể đảm bảo phiên bản tính năng của họ hoạt động như dự định bằng cách viết các bài kiểm tra đơn vị của riêng họ tương tự như packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java
để xác minh thứ hạng.