ডেভেলপার
আমার iPad-এ App Store-এর বদলে ডেস্কটপ পেজ খোলে কেন?
iPadOS 13 থেকে iPad-এর Safari নিজেকে Mac বলে পরিচয় দেয়। ডিভাইস রিডাইরেক্ট কেন এটি ধরতে পারে না, আর কীভাবে ধরবেন।
সংক্ষিপ্ত উত্তর
iPadOS 13 থেকে iPad-এর Safari ডেস্কটপ ওয়েবসাইট চায় এবং Mac-এর User-Agent (“Macintosh; Intel Mac OS X 10_15_7”) পাঠায়, তাই “iPad” খোঁজা রিডাইরেক্ট একে কম্পিউটার ধরে নেয়। সার্ভার দুটিকে আলাদা করতে পারে না; ব্রাউজারে, navigator.maxTouchPoints 1-এর বেশি এমন Mac User-Agent হলো iPad। OneStoreLink (onestore.link) এমন iPad-কে তার কম্পিউটার পেজে পাঠায়, যার App Store বোতাম স্টোর থেকে এক ট্যাপ দূরে।
সর্বশেষ পর্যালোচনা 2026-11-03
আপনি এমন একটি লিঙ্ক বানিয়েছেন যা iPhone-কে App Store-এ আর Android ফোনকে Google Play-তে পাঠায়, আপনার পরীক্ষা করা প্রতিটি ফোনে এটি কাজ করে, তারপর iPad হাতে কেউ আপনার ডেস্কটপ পেজে পৌঁছে যান। আপনার কোড ভুল নয়: iPad ইচ্ছে করেই নিজের পরিচয় নিয়ে মিথ্যা বলেছে, কারণ Apple চেয়েছিল iPad পূর্ণ ডেস্কটপ ওয়েবসাইট পাক। এই গাইড ব্যাখ্যা করে iPad কী পাঠায়, সার্ভার কেন এর আড়াল ভেদ করতে পারে না, ব্রাউজারে কীভাবে এটি শনাক্ত করবেন, আর একটি স্টোর রিডাইরেক্টের এর সঙ্গে কী করা উচিত।
সমস্যা
- iPadOS 13 থেকে iPad-এর Safari ডিফল্টভাবে ডেস্কটপ ওয়েবসাইট চায় এবং Mac-এর Safari-র মতো একই User-Agent পাঠায়।
- User-Agent-এ /iPad|iPhone/-এর মতো পরীক্ষা কখনো মেলে না, তাই iPad-কে কম্পিউটার হিসেবে ধরা হয়।
- সার্ভারে আর কোনো সূত্র থাকে না: ডেস্কটপ মোডে iPad-এর রিকোয়েস্ট দেখতে একেবারে Mac-এর রিকোয়েস্টের মতো।
- কম্পিউটারের শাখা যদি শুধু স্টোর বোতাম ছাড়া একটি ওয়েব পেজ দেখায়, তাহলে iPad ব্যবহারকারী এমন একটি অ্যাপ থেকে এক ধাপ দূরে আটকে যান যা তিনি ইনস্টল করতে পারতেন।
onestore.link দিয়ে
- ব্রাউজারে, একাধিক টাচ পয়েন্টসহ “Macintosh” User-Agent-কে iPad ধরুন: Mac-এ navigator.maxTouchPoints 0।
- সার্ভারে, কম্পিউটারের শাখাকে নিরাপদ করুন: দুটি স্টোর বোতামসহ একটি পেজ, বোতাম ছাড়া পেজ কখনো নয়।
- onestore.link সার্ভারে সিদ্ধান্ত নেয়: সাধারণ ব্রাউজারে iPhone আর iPad User-Agent সরাসরি App Store-এ যায়, Android যায় Google Play-তে, আর বাকি সবাই, ডেস্কটপ মোডের iPad-সহ, দুটি স্টোর বোতাম আর একটি QR কোডসহ একটি পেজ পায়।
- সেই পেজে App Store বোতাম iPad-এই App Store খোলে, তাই দর্শক ইনস্টল থেকে এক ট্যাপ দূরে থাকেন।
কীভাবে করবেন
কোনো SDK নেই, রিবিল্ড নেই। শুধু একটি URL।
- 1
ব্রাউজারে iPad চিনে নিন
আপনার রিডাইরেক্ট যদি JavaScript-এ চলে, User-Agent পরীক্ষার সঙ্গে একটি টাচ যাচাই যোগ করুন। Mac কখনো একাধিক টাচ পয়েন্ট জানায় না, iPad জানায়।
// iPadOS 13+: iPad-এর Safari একটি Mac User-Agent জানায় const ua = navigator.userAgent; const isIOS = /iPad|iPhone|iPod/.test(ua) || (/Macintosh/.test(ua) && navigator.maxTouchPoints > 1); const isAndroid = /Android/i.test(ua); - 2
কম্পিউটারের শাখায় দুটি স্টোর বোতাম দিন
সার্ভার-সাইড রিডাইরেক্ট এই যাচাই চালাতে পারে না, তাই “কম্পিউটারকে” দেওয়া পেজ কিছু iPad-ও দেখবে। তাতে একটি App Store বোতাম আর একটি Google Play বোতাম রাখুন, সঙ্গে আসল ডেস্কটপের জন্য একটি QR কোড।
- 3
অথবা রাউটিং onestore.link-এর ওপর ছেড়ে দিন
আপনার দুটি স্টোর URL দিয়ে একটি onestore.link বানান। ফোনগুলো সার্ভারে রিডাইরেক্ট হয়, আর বাকি প্রত্যেক দর্শক, ডেস্কটপ মোডের iPad-সহ, দুটি বোতাম আর একটি QR কোডসহ একটি পেজ পান। রক্ষণাবেক্ষণের কোনো কোড নেই।
সচরাচর জিজ্ঞাসা
iPad কেন Mac-এর User-Agent পাঠায়?
iPadOS 13 থেকে iPad-এর Safari ডিফল্টভাবে ওয়েবসাইটের ডেস্কটপ সংস্করণ চায়, আর সেটি পেতে নিজেকে macOS-এর Safari বলে পরিচয় দেয়। ব্যবহারকারী কোনো সাইটকে আবার মোবাইল সংস্করণে ফেরাতে পারেন, কিন্তু বেশিরভাগ কখনো তা করেন না।
ডেস্কটপ সাইট চাওয়া iPad কি সার্ভার শনাক্ত করতে পারে?
নির্ভরযোগ্যভাবে নয়। User-Agent হুবহু Mac-এর মতো, আর কোনো রিকোয়েস্ট হেডার টাচ স্ক্রিনের কথা ফাঁস করে না। শনাক্ত করতে পেজে JavaScript লাগে, যা একটি সাধারণ 302 রিডাইরেক্ট চালায় না।
navigator.maxTouchPoints কি একাই যথেষ্ট?
এটি User-Agent-এর সঙ্গে মিলিয়ে ব্যবহার করুন: navigator.maxTouchPoints 1-এর বেশি এমন “Macintosh” User-Agent হলো iPad। একা এটি টাচ স্ক্রিনওয়ালা Windows ল্যাপটপের সঙ্গেও মিলে যাবে।
onestore.link-এ iPad ব্যবহারকারী কী দেখেন?
Safari-র ডিফল্ট ডেস্কটপ মোডে, কম্পিউটার পেজ: অ্যাপের নাম আর আইকন, একটি App Store বোতাম, একটি Google Play বোতাম আর একটি QR কোড। App Store-এ ট্যাপ করলে iPad-এ App Store খোলে। যে iPad-এর ব্রাউজার iPad User-Agent পাঠায়, সেটি সরাসরি App Store-এ রিডাইরেক্ট হয়।
চেষ্টা করে দেখতে প্রস্তুত?
চিরকাল বিনামূল্যে, পাসওয়ার্ড লাগে না। প্রায় এক মিনিটে আপনার লিঙ্ক তৈরি।
আপনার ফ্রি লিঙ্ক তৈরি করুনটুলের তুলনা করছেন? onestore.link বনাম onelink to →