تنظیمات شخصی شده

برنامه تنظیمات اندروید لیستی از پیشنهادات را در اندروید 8.0 به کاربران ارائه می دهد. این پیشنهادات معمولاً ویژگی‌های تلفن را ارتقا می‌دهند و قابل تنظیم هستند (به عنوان مثال، "تنظیم برنامه مزاحم نشوید" یا "روشن کردن تماس Wi-Fi"). این ویژگی بر اساس هر سیگنال زمینه ای یا تعاملات گذشته کاربر با پیشنهادات، رتبه بندی را برای پیشنهادها فراهم می کند.

مدل پیش‌فرض رتبه‌بندی پروژه منبع باز Android (AOSP) بر اساس تعاملات قبلی کاربر با پیشنهاد است، که یک مدل خطی ساده است که با رگرسیون لجستیک آموزش داده شده تا سیگنال‌های تعامل را به درستی وزن کند. اجرای پیش‌فرض از پیشنهادهایی استفاده می‌کند که نشان داده شده، کلیک یا رد شده‌اند به‌عنوان شاخص همراه با تازگی این رویدادها برای رتبه‌بندی پیشنهادها و افزایش شانس پیش‌بینی تعامل کاربر با این پیشنهادها. این مدل با مقدار محدودی از داده های کاربر ثبت شده ساخته شده است. سازندگان دستگاه (OEM) می توانند مدل رتبه بندی خود را بر اساس هر داده جمع آوری شده توسعه دهند و به طور بالقوه سیگنال های متنی را در بر گیرند و رتبه بندی را کالیبره کنند.

پیاده سازی

پیاده‌سازی packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java پیش‌فرض را در AOSP پیدا کنید.

این ویژگی توسط یک پرچم isSmartSuggestionEnabled محافظت می شود که به طور پیش فرض روی false تنظیم شده است. اگر فعال باشد (روی درست تنظیم شود)، این ویژگی بدون تغییر اضافی با استفاده از اجرای پیش‌فرض AOSP عمل می‌کند. OEM ها می توانند از پیاده سازی پیش فرض استفاده کنند یا پیاده سازی خود را برای فعال کردن این ویژگی معرفی کنند.

OEM ها ممکن است با اجرای ویژگی platform/packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java و نادیده گرفتن روش rankSuggestions فایل، این ویژگی را سفارشی کنند. این روش دو لیست حاوی Tiles پیشنهادی و پیشنهادات مربوطه را دریافت می کند. این روش باید کاشی‌های موجود در لیست را فقط با توجه به امتیاز رتبه‌بندی مورد نظر تغییر ترتیب دهد. پیشنهادها می‌توانند برای شناسایی منحصربه‌فرد پیشنهادها و استخراج اطلاعات گذشته مورد نیاز در مورد پیشنهاد، بسته به اجرای رتبه‌بندی استفاده شوند (مثلاً، اخیراً تعامل با این پیشنهاد خاص).

اعتبار سنجی

پیاده‌کننده‌ها می‌توانند با نوشتن تست‌های واحد خود مشابه packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionRankerTest.java برای تایید رتبه‌بندی، اطمینان حاصل کنند که نسخه آن‌ها از این ویژگی همانطور که در نظر گرفته شده است، کار می‌کند.