الإعدادات المخصصة

يقدّم تطبيق "إعدادات 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 تلقائيًا. في حال تفعيل الميزة (ضبطها على "صحيح")، تعمل الميزة بدون تعديل إضافي باستخدام آلية التنفيذ التلقائية في AOSP. يمكن لمصنّعي المعدّات الأصلية استخدام التنفيذ التلقائي أو تقديم طريقة تنفيذ خاصة بهم ل تفعيل هذه الميزة.

يمكن لمصنّعي المعدّات الأصلية تخصيص الميزة من خلال تنفيذ ميزة platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java وإلغاء طريقة rankSuggestions في الملف. تحصل هذه الطريقة على قائمتَين تحتويان على مربّعات اقتراحات و suggestionIds المقابلة لها. من المفترض أن تعيد هذه الطريقة ترتيب المربّعات في القائمة وفقًا لمجموع نقاط الترتيب المطلوب فقط. يمكن استخدام أرقام تعريف الاقتراحات لتحديد الاقتراحات بشكل فريد واستخراج المعلومات السابقة المطلوبة عن الاقتراح، وذلك تبعًا لتنفيذ الترتيب (مثل وقت التفاعل الأخير مع هذا الاقتراح).

التحقُّق

يمكن للمنفّذين التأكّد من أنّ إصدارهم من الميزة يعمل على النحو المطلوب من خلال كتابة اختبارات الوحدة الخاصة بهم مثل packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java للتحقّق من الترتيب.