পছন্দমতো সেটিংস

Android সেটিংস অ্যাপ, Android 8.0-এর ব্যবহারকারীদের জন্য সাজেশন তালিকা প্রদান করে। এইসব সাজেশন সাধারণত ফোনের ফিচার প্রচার করে এবং সেগুলি কাস্টমাইজ করা যায় (যেমন, "বিরক্ত করবে না শিডিউল সেট করুন" বা "Wi-Fi কলিং চালু করুন")। এই ফিচার, সাজেশন সম্পর্কিত যেকোনও প্রাসঙ্গিক সিগন্যাল বা ব্যবহারকারীর সাথে সাজেশনের আগের ইন্টার‍্যাকশনের ভিত্তিতে সাজেশনের র‍্যাঙ্কিং প্রদান করে।

বর্তমান ডিফল্ট Android ওপেন সোর্স প্রোজেক্ট (AOSP) র‍্যাংকিং মডেলটি সাজেশনের সাথে ব্যবহারকারীর আগের ইন্টার‍্যাকশনের উপর ভিত্তি করে তৈরি করা হয়েছে, এটি একটি সাধারণ লিনিয়ার মডেল যা ইন্টার‍্যাকশন সিগন্যালকে সঠিকভাবে ওয়েট করার জন্য লজিস্টিক রিগ্রেশন দিয়ে ট্রেনিং দেওয়া হয়েছে। ডিফল্ট প্রয়োগে, দেখানো, ক্লিক করা বা বাতিল করা সাজেশনকে ইন্ডিকেটর হিসেবে ব্যবহার করা হয়। এর সাথে, সাজেশনকে র‍্যাঙ্ক করতে এবং এইসব সাজেশনের সাথে ব্যবহারকারীর ইন্টার‍্যাকশন অনুমান করার সম্ভাবনা বাড়াতে এইসব ইভেন্টের সাম্প্রতিকতাও ব্যবহার করা হয়। এই মডেলটি সীমিত পরিমাণ লগ করা ব্যবহারকারীর ডেটা দিয়ে তৈরি করা হয়েছে। ডিভাইস প্রস্তুতকারক (OEM) যেকোনও সংগ্রহ করা ডেটার উপর ভিত্তি করে নিজস্ব র‍্যাংকিং মডেল ডেভেলপ করতে পারে এবং সম্ভাব্য প্রাসঙ্গিক সিগন্যাল অন্তর্ভুক্ত করতে এবং র‍্যাংকিং ক্যালিব্রেট করতে পারে।

প্রয়োগ

AOSP-তে ডিফল্ট packages/apps/Settings/src/com/android/settings/dashboard/suggestions/SuggestionRanker.java প্রয়োগ খুঁজে দেখুন।

এই ফিচারটি একটি ফ্ল্যাগ, isSmartSuggestionEnabled দ্বারা সুরক্ষিত, যা ডিফল্ট হিসেবে false হিসেবে সেট করা থাকে। চালু করা থাকলে (true হিসেবে সেট করা থাকলে), ফিচারটি ডিফল্ট AOSP প্রয়োগ ব্যবহার করে অতিরিক্ত পরিবর্তন ছাড়াই কাজ করে। OEM-রা এই ফিচার চালু করতে ডিফল্ট প্রয়োগ ব্যবহার করতে পারে অথবা নিজেদের প্রয়োগ চালু করতে পারে।

OEM 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-এর মতো নিজস্ব ইউনিট টেস্ট লিখে ইমপ্লিমেন্টাররা নিশ্চিত করতে পারেন যে ফিচারের তাদের ভার্সনটি প্রত্যাশিতভাবে কাজ করছে।