HAL এবং API-এর মধ্যে কনস্ট্যান্ট ম্যাপিং -এ প্রবর্তিত HAL-API কনস্ট্যান্ট ম্যাপিংটি অত্যন্ত সুপারিশকৃত UX ডিজাইন নীতি দ্বারা চালিত। এই UX ডিজাইন নীতিগুলো অ্যান্ড্রয়েড হ্যাপটিক্স API ব্যবহার করার সময় কীভাবে, কখন এবং কী ব্যবহার করতে হবে তার ভিত্তি নির্ধারণ করে। এই মৌলিক নীতিগুলো সম্পর্কে আরও জানতে "Advanced Haptics: The When, What, and How of New Haptic APIs" দেখুন।

চিত্র ১. HAL-API ধ্রুবক ম্যাপিং: বিচ্ছিন্ন মডেল
স্পর্শজনিত প্রভাব নির্বাচন করুন
স্পর্শের তীব্রতা ( VibrationEffect ) দ্বারা
আপনার পছন্দের হ্যাপটিক শক্তি ( VibrationEffect ) নির্ধারণ করার জন্য EFFECT_CLICK হলো শুরু করার সেরা উপায়: এটি EFFECT_TICK এর "হালকা" হ্যাপটিক্স এবং EFFECT_HEAVY_CLICK এর "ভারী" হ্যাপটিক্সের মাঝামাঝি একটি অবস্থা। EFFECT_CLICK দিয়ে শুরু করে, আপনি EFFECT_HEAVY_CLICK ব্যবহার করে শক্তি বাড়িয়ে ধারণাগত শক্তি বাড়াতে বা কমাতে পারেন, অথবা EFFECT_TICK ব্যবহার করে শক্তি কমাতে পারেন। মনে রাখবেন, EFFECT_DOUBLE_CLICK সর্বোচ্চ ধারণাগত শক্তি প্রদান করে কারণ এটি পুনরাবৃত্ত হয়।

চিত্র ২. স্পর্শ শক্তির সেটিংস
ইনপুট ইভেন্ট এবং UI এলিমেন্ট ( HapticFeedbackConstants ) দ্বারা
আপনার লক্ষ্য যদি নির্দিষ্ট ইনপুট ইভেন্ট (যেমন লং প্রেস বা সোয়াইপ) অথবা UI এলিমেন্টের (যেমন কীবোর্ড) সাথে সম্পর্কিত হয়, তাহলে HapticFeedbackConstants এ আগে থেকে সংজ্ঞায়িত হ্যাপটিক কনস্ট্যান্টগুলো খুঁজুন। প্রতিটি কনস্ট্যান্টের নাম নির্দিষ্ট ব্যবহারের ক্ষেত্রকে নির্দেশ করে, যেমন KEYBOARD_PRESS বা LONG_PRESS ।
বাস্তব জগতের বাটন-চাপার ঘটনাগুলো অনুকরণ করুন
ইনপুট ইভেন্টের টাচ হ্যাপটিক ফিডব্যাক (ভার্চুয়াল সফট বাটন) ভৌত সত্তা (যেমন যান্ত্রিক হার্ড বাটন) ব্যবহার করে বাটন চাপার অনুকরণ করতে পারে।
ইনপুট ইভেন্ট: জোড়ায় জোড়ায় মিথস্ক্রিয়া প্রবাহ
ক্লিক ইভেন্টটি একটি যান্ত্রিক বাটনের আচরণ অনুকরণ করার জন্য ডিজাইন করা হয়েছে, যেটিকে চাপ দিয়ে ছেড়ে দেওয়া হয় । বাটন চাপার ফলে সৃষ্ট যান্ত্রিক স্পন্দনের অনুভূত শক্তি, বাটন ছাড়ার ফলে সৃষ্ট স্পন্দনের অনুভূত শক্তির চেয়ে বেশি। তাই, বাটন চাপার ক্ষেত্রে হ্যাপটিক ফিডব্যাক, বাটন ছাড়ার ক্ষেত্রে হ্যাপটিক ফিডব্যাকের চেয়ে বেশি শক্তিশালী হয়।

চিত্র ৩. বাইনারি ইনপুট ইভেন্টের দ্বারা সৃষ্ট স্পর্শজনিত প্রভাব
স্পর্শানুভূতির শক্তি: বোতাম চাপার সামর্থ্য
স্বল্পস্থায়ী ও হালকা সম্পৃক্ততার ইনপুট ইভেন্টগুলোর সাথে হালকা হ্যাপটিক্স যুক্ত থাকে। দীর্ঘতর ও গভীর সম্পৃক্ততার ইনপুট ইভেন্টগুলোর সাথে শক্তিশালী হ্যাপটিক্স যুক্ত থাকে।

চিত্র ৪. সামর্থ্য অনুযায়ী স্পর্শজনিত প্রভাব
জেসচার ইনপুট ইভেন্টে ভার্চুয়াল টেক্সচার অনুকরণ করুন
অঙ্গভঙ্গি-ভিত্তিক ইনপুট (যেমন স্ক্রাবিং বা স্ক্রোলিং) ভার্চুয়াল হ্যাপটিক টেক্সচারের সাথে সমন্বয় করা যেতে পারে, যখন আঙুলটি ভিজ্যুয়াল UI-এর পাশাপাশি স্ক্রিনে চলাচল করে। উদাহরণস্বরূপ, ভার্চুয়াল টিক মার্ক UI এলিমেন্টসহ ক্লক UI-এর চারপাশে আঙুল ঘোরানোর সময় বারবার হ্যাপটিক ফিডব্যাক তৈরি করা যায়।
ভার্চুয়াল হ্যাপটিক টেক্সচারের ইফেক্টগুলো পুনরাবৃত্তি করার জন্য তৈরি করা হয়। এর ফলে প্রায়শই অনুভূত শক্তি তার বিস্তারের (অ্যাম্প্লিটিউড) চেয়ে বেশি হয়ে যায় (যখন ইফেক্টটি পুনরাবৃত্তি ছাড়া বা শুধু একবার কল করা হয়)। এই কারণে, ভার্চুয়াল হ্যাপটিক টেক্সচারের জন্য ডিজাইন করা হ্যাপটিক কনস্ট্যান্টগুলো (যেমন CLOCK_TICK বা TEXT_HANDLE_MOVE ) অবশ্যই সূক্ষ্ম হতে হবে, যাতে পুনরাবৃত্ত সংকেতের মাধ্যমেও নড়াচড়ার অনুভূতি দেওয়া যায়।

চিত্র ৫. ভার্চুয়াল টেক্সচার অনুকরণে স্পর্শজনিত প্রভাব
অনুভূতি অন্তর্ভুক্ত করুন
স্পর্শজনিত প্রভাবে ইতিবাচক বা নেতিবাচক অনুভূতি অন্তর্ভুক্ত করতে, ব্যবহারকারীর মনোযোগ আকর্ষণের জন্য নেতিবাচক অনুভূতির ক্ষেত্রে আরও তীব্র সংবেদন প্রয়োগ করুন।

চিত্র ৬. অনুভূতির সাথে স্পর্শজনিত প্রভাব
দীর্ঘ কম্পন থেকে শ্রবণযোগ্য শব্দ এড়িয়ে চলুন
অ্যাটেনশনাল হ্যাপটিক্সের জন্য দীর্ঘ কম্পন থেকে সৃষ্ট শ্রাব্য শব্দ এড়াতে, একটি র্যাম্প-আপ প্রভাব তৈরি করতে প্যাটার্নটিকে মসৃণভাবে ত্বরান্বিত করুন। এটি করার জন্য createWaveform(long[] timings, int[] amplitudes, int repeat) ব্যবহার করুন।

চিত্র ৭. দীর্ঘ কম্পন ক্রমবৃদ্ধি প্রভাব