डेवलपर
मेरे 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 डिफ़ॉल्ट रूप से डेस्कटॉप वेबसाइट माँगता है और वही User-Agent भेजता है जो Mac का Safari भेजता है।
- 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 vs onelink to →