Cài đặt cá nhân hóa

Ứng dụng Cài đặt Android cung cấp danh sách các đề 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à có thể tuỳ chỉnh (ví dụ: "Đặt lịch cho 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 mọi tín hiệu theo bối cảnh hoặc các lượt 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 mặc định hiện tại của Dự án nguồn mở Android (AOSP) dựa trên các lượt tương tác trước đó của người dùng với nội dung đề 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 để phân bổ trọng số chính xác cho các tín hiệu tương tác. Phương thức triển khai mặc định sử dụng các đề xuất đã hiển thị, được nhấp vào hoặc bị đóng làm chỉ báo cùng với tần suất gần đây của các sự kiện này để xếp hạng các đề xuất và tăng khả năng 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 tạo bằng một lượng dữ liệu người dùng được ghi lại có hạn. 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 đã thu thập và có thể bao gồm các tín hiệu theo bối cảnh cũng như điều chỉnh thứ hạng.

Triển khai

Tìm phương thức triển khai packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java mặc định trong AOSP.

Tính năng này được bảo vệ bằng một cờ, isSmartSuggestionEnabled, được đặt thành false theo mặc định. Nếu được bật (đặt thành true), tính năng này sẽ hoạt động mà không cần sửa đổi thêm bằng cách triển khai AOSP mặc định. OEM có thể sử dụng phương thức triển khai mặc định hoặc giới thiệu phương thức triển khai của riêng họ để bật tính năng này.

Nhà sản xuất thiết bị gốc (OEM) có thể tuỳ 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 được hai danh sách chứa Thẻ thông tin đề xuất và các suggestionId tương ứng. Phương thức này chỉ nên sắp xếp lại các thẻ thông tin trong danh sách theo điểm xếp hạng mong muốn. Bạn có thể sử dụng suggestionIds để 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, tuỳ thuộc vào cách triển khai thứ hạng (ví dụ: tần suất tương tác gần đây với đề xuất cụ thể này).

Xác nhận kết quả

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ự kiến bằng cách viết các bài kiểm thử đơ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.