2012-12-13 23 views
5

मैं एक वेबसाइट से एक रास्ता तलाश रहा हूं, यह पता लगाने के लिए कि डिवाइस पर एक ऐप्पल ऐप इंस्टॉल किया गया है या नहीं। यह या तो एक लिंक के आकार में हो सकता है जो उपयोगकर्ता को ऐप स्टोर में भेजता है और आगे से ऐप में ऐप तक भेजता है, या एक पहचान विधि जिसने उपयोगकर्ता को ऐप इंस्टॉल करने के लिए कहा था जब इसे गायब होने के रूप में पता चला था। मैं जिस चीज की तलाश में हूं, वह कोई त्रुटि संदेश नहीं होगा (यदि संभव हो) लेकिन अधिक महत्वपूर्ण बात यह है कि उपयोगकर्ता को ऐप इंस्टॉल करने के लिए कहा नहीं जाता है, अगर वे वास्तव में इसे स्थापित करते हैं।मैं ऐप इंस्टॉल करने के लिए ऐप स्टोर में या वेबसाइट से चर के साथ ऐप को कैसे भेज सकता हूं?

आम तौर पर स्वीकृत समाधान (Is it possible to register a http+domain-based URL Scheme for iPhone apps, like YouTube and Maps?) आईओएस 6 के रिलीज के बाद या आईफोन/आईपैड/आईपॉड टच के लिए क्रोम पर काम नहीं करता है।

इस समस्या के साथ कोई भी मदद आभारी रूप से प्राप्त की जाएगी। :)

+0

आईओएस 6 से, आप उस ऐप के मेटाडेटा को जोड़ सकते हैं जिसे आप अपने एचटीएमएल में चाहते हैं और ओएस ऐप खोलने या इसे इंस्टॉल करने के आधार पर इसे डाउनलोड करने के लिए आमंत्रित बैनर दिखाएगा। – Moxy

उत्तर

0

आप इसे प्राप्त करने के लिए Custom URL Scheme का उपयोग कर सकते हैं।

जावास्क्रिप्ट तरफ (वेब) आप निम्नलिखित क्यू & ए (Ievgen द्वारा जवाब) पर प्रस्तुत जावास्क्रिप्ट उदाहरण का उपयोग कर सकते हैं: Determine if an app exists and launch that app on iOS

+0

प्रश्न यह वेबसाइट से निर्धारित करने के बारे में है। – Moxy

+0

@Moxy उत्तर में भी शामिल है। –

+0

क्षमा करें मैंने उस भाग को नहीं पढ़ा। – Moxy

0

यहाँ पेज के एक ठोस उदाहरण है आप पर होस्ट करने की आवश्यकता होगी आपका सर्वर और ईमेल, सोशल मीडिया इत्यादि में लिंक। बस अपने ऐप के यूआरआई और अपने ऐप स्टोर लिंक में प्रतिस्थापित करें। ध्यान दें कि iframe अधिक ब्राउज़रों पर काम करता है।

<!DOCTYPE html> 
<html> 
    <body> 
     <script type="text/javascript"> 
      window.onload = function() { 
       // Deep link to your app goes here 
       document.getElementById("l").src = "my_app://"; 

       setTimeout(function() { 
        // Link to the App Store should go here -- only fires if deep link fails     
        window.location = "https://itunes.apple.com/us/app/my.app/id123456789?ls=1&mt=8"; 
       }, 500); 
      }; 
     </script> 
     <iframe id="l" width="1" height="1" style="visibility:hidden"></iframe> 
    </body> 
</html> 

तो, अगर उपयोगकर्ता आपका ऐप्स इंस्टॉल, यूआरआई के साथ लिंक सफल होगा और आप App स्टोर के लिए पुनः निर्देशित शुरू किया जा सकता के लिए स्क्रिप्ट से पहले ब्राउज़र उपलब्ध नहीं होगा। यदि उपयोगकर्ता के पास आपका ऐप नहीं है, तो रीडायरेक्ट सफल होता है (एक संक्षिप्त बदसूरत त्रुटि संदेश के बाद)।

एक दूसरी संभावना है (जो त्रुटि संदेश से बचाता है) जो कुकीज़ पर पहले निर्भर करता है और जावास्क्रिप्ट केवल फ़ॉलबैक के रूप में रीडायरेक्ट करता है। यहां तर्क है:

जब ऐप के बिना कोई उपयोगकर्ता आपके ऐप के लिंक पर पहली बार टैप करता है, तो उसे सीधे ऐप स्टोर पर रीडायरेक्ट किया जाता है। यह वास्तव में आपके ऐप के लिंक द्वारा रीडायरेक्ट के साथ आपके सर्वर पर एक गतिशील रूप से जेनरेट किया गया पृष्ठ होने के द्वारा पूरा किया जाता है। आप एक कुकी बनाते हैं और अपने बैकएंड पर आईपी एड्रेस, ओएस, ओएस संस्करण इत्यादि के "डिजिटल फिंगरप्रिंट" को लॉग करते हैं।

जब उपयोगकर्ता ऐप इंस्टॉल करता है और इसे खोलता है, तो आप अपने बैकएंड में एक और "डिजिटल फिंगरप्रिंट" एकत्र और भेजते हैं। अब आपका बैकएंड जानता है कि लिंक इंस्टॉल है, आपके ऐप से जुड़े लिंक पर आने वाली किसी भी विज़िट पर, आपके सर्वर यह सुनिश्चित करते हैं कि डायनामिक रूप से जेनरेट किए गए रीडायरेक्ट पेज ऐप की ओर जाता है, ऐप स्टोर नहीं, अनुरोध के साथ भेजे गए कुकी के आधार पर।

यह बदसूरत रीडायरेक्ट से बचाता है लेकिन इसमें एक टन अधिक काम शामिल है। मैं Branch पर काम करता हूं जहां हमने इसे बनाया है और इसे किसी भी डेवलपर को पेश करना है जो इसका उपयोग करना चाहता है। यदि आपके पास इसे खरोंच से बनाने के बारे में कोई प्रश्न है, तो पहुंचने में संकोच न करें।