iOS Haptics টেস্টার
আপনার ব্রাউজার থেকে সরাসরি iOS Safari haptic প্রতিক্রিয়া (একক, নিশ্চিত, ত্রুটি প্যাটার্ন) পরীক্ষা করুন। Android এবং অন্যান্য সমর্থিত ডিভাইসে navigator.vibrate() এ ফিরে যায়।
ইনপুট
ডিভাইস সমর্থন
হ্যাপটিক সমর্থন পরীক্ষা করা হচ্ছে...
এটি কীভাবে কাজ করে
iOS Safari-এ, এটি একটি লুকানো চেকবক্স সুইচ ব্যবহার করে (Safari 17.4-এ চালু করা হয়েছে) যা টগল করার সময় হ্যাপটিক ফিডব্যাক তৈরি করে। Android এবং অন্যান্য ডিভাইসে যা এটি সমর্থন করে, মান navigator.vibrate() API একটি ফলব্যাক হিসাবে ব্যবহৃত হয়।
সামঞ্জস্যতা নোট
প্রোগ্রামেটিক iOS হ্যাপটিক্স iOS 17.4 থেকে 26.4-এ কাজ করে। Apple iOS 26.5-এ অন্তর্নিহিত আচরণ প্যাচ করেছে, তাই JavaScript থেকে হ্যাপটিক্স ট্রিগার করা সর্বশেষ iOS সংস্করণে আর কাজ নাও করতে পারে।
আউটপুট
রিডমি
হ্যাপটিক ফিডব্যাক কী?
হ্যাপটিক ফিডব্যাক একটি স্পর্শজনক প্রতিক্রিয়া — একটি ছোট কম্পন বা ট্যাপ — যা একটি ডিভাইস কোনো অ্যাকশন নিশ্চিত করতে বা মনোযোগ আকর্ষণ করতে তৈরি করে। স্মার্টফোনে এটি একটি ছোট মোটর (আইফোনে, অ্যাপলের "Taptic Engine") দ্বারা তৈরি হয় যা ছোট, নির্ভুলভাবে সময়োপযোগী পালস তৈরি করে। দীর্ঘ গুঞ্জন কম্পনের বিপরীতে, আধুনিক হ্যাপটিক্স তীক্ষ্ণ এবং সূক্ষ্ম, একটি অ্যালার্মের পরিবর্তে একটি শারীরিক ক্লিকের মতো অনুভব করার জন্য ডিজাইন করা হয়েছে।
নেটিভ iOS অ্যাপে, ডেভেলপাররা UIFeedbackGenerator API ব্যবহার করে বিভিন্ন হ্যাপটিক প্যাটার্ন যেমন একটি হালকা ট্যাপ, একটি "সাফল্য" ডাবল-ট্যাপ, বা একটি "ত্রুটি" ট্রিপল-ট্যাপ চালায়। দীর্ঘদিন ধরে iOS Safari-এ ওয়েব প্ল্যাটফর্মের কোনো সমতুল্য ছিল না — navigator.vibrate() সহজভাবে আইফোনে উপেক্ষা করা হয়েছিল। ios-haptics লাইব্রেরি <input type="checkbox" switch> উপাদানের একটি পার্শ্ব-প্রভাব কাজে লাগায় (Safari 17.4-এ প্রবর্তিত): সেই সুইচটি টগল করা সিস্টেম হ্যাপটিক ইঞ্জিনকে ট্রিগার করে, ওয়েব পৃষ্ঠাগুলিকে JavaScript থেকে ছোট হ্যাপটিক প্যাটার্ন চালাতে দেয়।
টুল বর্ণনা
iOS Haptics Tester আপনাকে আপনার ব্রাউজার থেকে সরাসরি হ্যাপটিক ফিডব্যাক প্যাটার্ন ট্রিগার করতে দেয় যাতে আপনার ডিভাইস এবং OS সংস্করণ সেগুলি সমর্থন করে কিনা তা যাচাই করতে পারেন। এটি ios-haptics লাইব্রেরি দ্বারা প্রদত্ত তিনটি প্যাটার্ন প্রকাশ করে — একটি একক ট্যাপ, একটি "নিশ্চিত করুন" (দুটি দ্রুত ট্যাপ), এবং একটি "ত্রুটি" (তিনটি দ্রুত ট্যাপ) — এবং Android এবং অন্যান্য ডিভাইসের জন্য ফলব্যাক হিসাবে মান navigator.vibrate() API কল করে এমন একটি বোতামও অন্তর্ভুক্ত করে।
উদাহরণ
| অ্যাকশন | iPhone-এ প্রত্যাশিত অনুভূতি (iOS 17.4–26.4) | Android-এ প্রত্যাশিত অনুভূতি |
|---|---|---|
| একক হ্যাপটিক | একটি ছোট, তীক্ষ্ণ ট্যাপ | একটি ছোট কম্পন (~200 ms) |
| নিশ্চিত করুন (দুটি দ্রুত হ্যাপটিক) | পরপর দুটি দ্রুত ট্যাপ | দুটি ছোট কম্পন |
| ত্রুটি (তিনটি দ্রুত হ্যাপটিক) | পরপর তিনটি দ্রুত ট্যাপ | তিনটি ছোট কম্পন |
navigator.vibrate() পরীক্ষা করুন |
বেশিরভাগ iOS সংস্করণে কিছুই নয় | একটি ~200 ms কম্পন |
বৈশিষ্ট্য
- একক, নিশ্চিত করুন এবং ত্রুটি হ্যাপটিক প্যাটার্নের জন্য ওয়ান-ট্যাপ বোতাম
- বর্তমান ডিভাইসে হ্যাপটিক সমর্থনের স্বয়ংক্রিয় সনাক্তকরণ
- মান
navigator.vibrate()Web API-এর জন্য অন্তর্নির্মিত ফলব্যাক পরীক্ষা - প্রতিটি ট্রিগার করা প্যাটার্নের জন্য টাইমস্ট্যাম্প সহ লাইভ ইভেন্ট লগ
- iOS সংস্করণ সামঞ্জস্য ব্যাখ্যা করে স্পষ্ট স্ট্যাটাস ব্যানার
ব্যবহারের ক্ষেত্র
- ওয়েব ডেভেলপাররা যারা একটি বাস্তব iPhone-এ হ্যাপটিক ফিডব্যাক কাজ করে তা যাচাই করছেন তাদের নিজস্ব সাইট বা PWA-তে
ios-hapticsএকীভূত করার আগে - QA ইঞ্জিনিয়াররা বিভিন্ন ডিভাইস, OS সংস্করণ এবং ব্রাউজারে একই প্যাটার্নগুলি কেমন অনুভব করে তা পরীক্ষা করছেন
- কৌতূহলী ব্যবহারকারীরা যারা iOS-স্টাইল "Taptic" ফিডব্যাক এবং দীর্ঘতর Android
navigator.vibrate()পালসের মধ্যে পার্থক্য অনুভব করতে চান
এটি কীভাবে কাজ করে
iOS Safari-এ, টুল গতিশীলভাবে একটি লুকানো <input type="checkbox" switch> তৈরি করে, এটি টগল করে, তারপর এটি DOM থেকে সরিয়ে দেয়। সেই নেটিভ সুইচটি টগল করার কাজটি Taptic Engine-কে ট্রিগার করে — এমন কোনো পাবলিক Web API নেই যা এটি সরাসরি করে। "নিশ্চিত করুন" এবং "ত্রুটি" প্যাটার্নগুলি দ্রুত উত্তরাধিকারে দুই বা তিনবার টগল পুনরাবৃত্তি করে।
এমন ডিভাইসে যা iOS সুইচ ট্রিকটি সমর্থন করে না, লাইব্রেরি navigator.vibrate() এ ফিরে যায়, যা Android ব্রাউজারে ব্যাপকভাবে সমর্থিত। এই টুলে "Test navigator.vibrate()" বোতাম সেই API-কে সরাসরি কল করে যাতে আপনি দুটি মেকানিজম তুলনা করতে পারেন।
বিকল্পগুলি ব্যাখ্যা করা হয়েছে
- একক হ্যাপটিক — একটি ছোট ট্যাপ চালায়। একটি টগল বা একটি সফল ফর্ম ফিল্ডের মতো একটি ছোট ইন্টারঅ্যাকশন নিশ্চিত করতে সর্বোত্তম ব্যবহৃত।
- নিশ্চিত করুন (দুটি দ্রুত হ্যাপটিক) — দুটি দ্রুত ট্যাপ চালায়। "সংরক্ষিত", "পাঠানো" বা অন্যান্য ইতিবাচক নিশ্চিতকরণের জন্য আদর্শ।
- ত্রুটি (তিনটি দ্রুত হ্যাপটিক) — তিনটি দ্রুত ট্যাপ চালায়। যাচাইকরণ ত্রুটি বা ধ্বংসাত্মক ব্যর্থতা সংকেত করতে ব্যবহার করুন।
- Test navigator.vibrate() — 200 ms সময়কাল সহ Web Vibration API কল করে। অ-iOS ডিভাইস সমর্থন নিশ্চিত করতে এবং iOS প্যাটার্নের বিপরীতে অনুভূতি তুলনা করার জন্য দরকারী।
- লগ সাফ করুন — ইভেন্ট লগ থেকে সমস্ত এন্ট্রি সরিয়ে দেয়।
সীমাবদ্ধতা
- প্রোগ্রামেটিক iOS হ্যাপটিক্স শুধুমাত্র iOS 17.4 থেকে 26.4 এ কাজ করে। Apple iOS 26.5-এ অন্তর্নিহিত আচরণ প্যাচ করেছে, তাই JavaScript থেকে এই প্যাটার্নগুলি কল করা আর সর্বশেষ iOS সংস্করণে Taptic Engine-কে ট্রিগার করে না। একটি বাস্তব
<input type="checkbox" switch>এর সাথে সরাসরি ব্যবহারকারী ইন্টারঅ্যাকশন এখনও কাজ করে। - iOS Safari প্রায় সমস্ত সংস্করণে
navigator.vibrate()উপেক্ষা করে, তাই ফলব্যাক বোতাম iPhone-এ নীরব দেখাবে। - ডেস্কটপ ব্রাউজার হ্যাপটিক ফিডব্যাক তৈরি করতে পারে না; বোতামগুলি চলবে কিন্তু আপনি কিছু অনুভব করবেন না।
- কিছু Android ব্রাউজারের জন্য
navigator.vibrate()চালানোর আগে পৃষ্ঠা অগ্রভাগে থাকতে এবং একটি ব্যবহারকারী অঙ্গভঙ্গি প্রয়োজন। - হ্যাপটিক ফিডব্যাক ডিভাইসের সিস্টেম সেটিংসে অক্ষম করা যেতে পারে (যেমন Settings → Sounds & Haptics → System Haptics iOS-এ)।
টিপস
- একটি বাস্তব ডিভাইসে পরীক্ষা করুন, সিমুলেটর বা এমুলেটরে নয় — ভার্চুয়াল ডিভাইসে Taptic Engine নেই।
- যদি iPhone-এ কিছুই না ঘটে, তা পরীক্ষা করুন যে System Haptics Settings-এ সক্ষম এবং Silent Mode পুরানো iOS সংস্করণে সেগুলি দমন করছে না।
- Confirm প্যাটার্ন সাশ্রয়ীভাবে ব্যবহার করুন; দ্রুত হ্যাপটিক্স অতিরিক্ত ব্যবহার দ্রুত বিরক্তিকর হয়ে ওঠে।
- হ্যাপটিক্সকে ভিজ্যুয়াল ফিডব্যাকের সাথে একত্রিত করুন — একটি হ্যাপটিক একা ব্যবহারকারীর কাছে অবস্থা যোগাযোগ করার জন্য খুব কমই যথেষ্ট।
FAQ
আমার iPhone-এ আমি কিছু অনুভব করছি না কেন? আপনি সম্ভবত iOS 26.5 বা নতুনতর সংস্করণে আছেন, যেখানে Apple এই লাইব্রেরি দ্বারা ব্যবহৃত কৌশল প্যাচ করেছে। iOS 17.4–26.4 চালিত একটি ডিভাইস চেষ্টা করুন, বা Settings-এ System Haptics সক্ষম আছে তা পরীক্ষা করুন।
navigator.vibrate() iPhone-এ কেন কাজ করে না?
Apple কখনও iOS Safari-এ Web Vibration API প্রয়োগ করেনি। বর্তমানে একটি ওয়েব পৃষ্ঠা থেকে iOS-এ কম্পন ট্রিগার করার কোনো মান-ভিত্তিক উপায় নেই।
এটি উৎপাদনে ব্যবহার করা কি নিরাপদ? লাইব্রেরি ছোট এবং পার্শ্ব-প্রভাব মুক্ত, কিন্তু কারণ এটি একটি নির্দিষ্ট HTML উপাদানের একটি অদ্ভুততার উপর নির্ভর করে, এটি যেকোনো ভবিষ্যত iOS আপডেটে ভেঙে যেতে পারে — যেমনটি ইতিমধ্যে iOS 26.5-এ করেছে। সর্বদা হ্যাপটিক ফিডব্যাককে একটি প্রগতিশীল উন্নতি হিসাবে বিবেচনা করুন, কখনও একটি প্রয়োজনীয়তা নয়।
এটি একটি PWA বা "Add to Home Screen" অ্যাপের ভিতরে কাজ করে? হ্যাঁ, সমর্থিত iOS সংস্করণে একই কৌশল Safari-এ যেমন ইনস্টল করা ওয়েব অ্যাপে কাজ করে।