แอปการตั้งค่า Android จะแสดงรายการคำแนะนำแก่ผู้ใช้ใน Android 8.0 โดยปกติแล้ว คำแนะนำเหล่านี้จะโปรโมตฟีเจอร์ของโทรศัพท์ และปรับแต่งได้ (เช่น "ตั้งเวลาโหมดห้ามรบกวน" หรือ "เปิดการโทรผ่าน Wi-Fi") ฟีเจอร์นี้จะจัดอันดับคำแนะนำโดยอิงตามสัญญาณตามบริบทหรือการโต้ตอบที่ผ่านมาของผู้ใช้กับคำแนะนำ
รูปแบบการจัดอันดับเริ่มต้นปัจจุบันของโปรเจ็กต์โอเพนซอร์สของ Android (AOSP) อิงตามการโต้ตอบก่อนหน้านี้ของผู้ใช้กับคำแนะนำ ซึ่งเป็นรูปแบบเชิงเส้นอย่างง่ายที่ได้รับการฝึกด้วยโลจิสติกส์รีเกรชันเพื่อถ่วงน้ำหนักสัญญาณการโต้ตอบอย่างเหมาะสม การใช้งานเริ่มต้นจะใช้คำแนะนำที่แสดง คลิก หรือปิดเป็นตัวบ่งชี้พร้อมกับความใหม่ของเหตุการณ์เหล่านี้เพื่อจัดอันดับคำแนะนำและเพิ่มโอกาสในการคาดการณ์การโต้ตอบของผู้ใช้กับคำแนะนำเหล่านี้ โมเดลนี้สร้างขึ้นโดยใช้ข้อมูลผู้ใช้ที่บันทึกไว้จํานวนจํากัด ผู้ผลิตอุปกรณ์ (OEM) สามารถพัฒนารูปแบบการจัดอันดับของตนเองโดยอิงตามข้อมูลที่รวบรวม และอาจรวมสัญญาณตามบริบทและปรับเทียบการจัดอันดับ
การใช้งาน
ค้นหาการใช้งาน packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java
เริ่มต้นใน AOSP
ฟีเจอร์นี้ได้รับการปกป้องโดย Flag isSmartSuggestionEnabled
ซึ่งตั้งค่าเป็น false โดยค่าเริ่มต้น หากเปิดใช้ (ตั้งค่าเป็น "จริง") ฟีเจอร์จะทำงานโดยไม่มีการแก้ไขเพิ่มเติมโดยใช้การใช้งาน AOSP เริ่มต้น OEM สามารถใช้การติดตั้งใช้งานเริ่มต้นหรือแนะนำการติดตั้งใช้งานของตนเองเพื่อเปิดใช้ฟีเจอร์นี้ได้
OEM อาจปรับแต่งฟีเจอร์นี้โดยใช้ฟีเจอร์ platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
และลบล้างเมธอด rankSuggestions
ของไฟล์
วิธีนี้จะรับ 2 รายการที่มีการ์ดคำแนะนำและรหัสคำแนะนำที่เกี่ยวข้อง วิธีนี้ควรจัดเรียงการ์ดในรายการใหม่ตามคะแนนการจัดอันดับที่ต้องการเท่านั้น คุณสามารถใช้ suggestionIds เพื่อระบุคำแนะนำที่ไม่ซ้ำกันและดึงข้อมูลที่ผ่านมาที่จำเป็นเกี่ยวกับคำแนะนำนั้นๆ ทั้งนี้ขึ้นอยู่กับการใช้งานการจัดอันดับ (เช่น ความใหม่ของการโต้ตอบกับคำแนะนำนี้)
การตรวจสอบความถูกต้อง
ผู้ใช้งานสามารถตรวจสอบว่าฟีเจอร์เวอร์ชันของตนทํางานได้ตามที่ต้องการโดยเขียนการทดสอบยูนิตของตนเองให้คล้ายกับ packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java
เพื่อยืนยันการจัดอันดับ