2013-02-18 17 views
7

मुझे यह सवाल पता है कि मृत्यु के लिए पीटा गया है, लेकिन मैं यहां कुछ भी जटिल नहीं चाहता हूं।फोन और टैबलेट ब्राउज़र के बीच अंतर

हमारे पास हमारी साइट के साथ एक साथी ऐप है जो केवल 7 और 10-इंच टैबलेट के साथ संगत है। हमें केवल उन उपयोगकर्ताओं पर हमारे ऐप के बारे में उपयोगकर्ताओं को सतर्क करने की आवश्यकता है। समस्या यह है कि, मैं संकल्प से नहीं जा सकता। मेरी गैलेक्सी एस 3 में 1280 x 720 स्क्रीन है, लेकिन जाहिर है कि एक टैबलेट नहीं है। मैं भी भौतिक स्क्रीन के आकार को पाने के लिए एक रास्ता खोजने के लिए मेरे जीवन के लिए भी नहीं कर सकता। एकमात्र समाधान जो मैंने सामने आया है यह पता लगा रहा है कि डिवाइस MobileCapabilities.CanInitiateVoiceCall के साथ कॉल कर सकता है या नहीं। असुविधाजनक, बॉस द्वारा उस समाधान से खुश नहीं है।

तो ... मैं अपने वेब ऐप (सर्वर या क्लाइंट साइड) में एक फोन और टैबलेट के बीच अंतर कैसे कर सकता हूं?

अद्यतन: अब तक ऐसा लगता है कि Android के लिए सबसे अच्छा तरीका Android टीम द्वारा एक ब्लॉग पोस्ट से कुछ है: सभी Android फोन का उपयोग "मोबाइल" UserAgent स्ट्रिंग में है, इसलिए "मोबाइल" के लिए जाँच * और "एंड्रॉइड" आपको बताएगा कि यह एक फोन है, जबकि सिर्फ "एंड्रॉइड" एक टैबलेट होना चाहिए। आईओएस डिवाइस उतना आसान होना चाहिए - "आईफोन" बनाम "आईपैड" की जांच अब तक काम कर रही है।

+1

* "हमें केवल उन उपकरणों पर उपयोगकर्ताओं को हमारे ऐप के बारे में सतर्क करने की आवश्यकता है" * - क्यों? यदि किसी डिवाइस के पास आपकी सामग्री प्रदर्शित करने के लिए उचित समाधान है, तो उन्हें बाहर न रखें। अपने डिजाइन को उत्तरदायी बनाएं, और * किसी * डिवाइस का समर्थन करें। – poke

+2

यदि आप वास्तव में एक फोन और टैबलेट के बीच अंतर करना चाहते हैं, तो मुझे लगता है कि एक फोन फोन करता है कि यह फ़ोन कॉल कर सकता है या नहीं। मुझे यकीन नहीं है कि आपका अंतिम लक्ष्य क्या है, लेकिन टैबलेट/कंप्यूटर/फोन के बीच की रेखा काफी अस्पष्ट हो रही है, और कॉल करने में सक्षम होना एकमात्र चीज है जो अभी भी एक फोन बनाती है। – AaronLS

+1

यदि एक एंड्रॉइड फोन और टैबलेट दोनों में आपके ऐप के लिए काफी अच्छा रिज़ॉल्यूशन है, तो आपको दो डिवाइसेज के बीच अंतर क्या है? इसका उत्तर यह निर्धारित करने के लिए किया जाना चाहिए कि आपको अपना निर्णय किस प्रकार करना चाहिए। – AaronLS

उत्तर

0

आप उपयोगकर्ता एजेंट का पता लगाने और कीर्ड्स के लिए खोज करने का प्रयास कर सकते हैं, उदाहरण के लिए, सभी गैर टेबलेट उपकरणों में उनके उपयोगकर्ता एजेंट पर "मोबाइल सफारी" कुंजी शब्द होते हैं।

+0

बस "मोबाइल सफारी" काम नहीं करता है क्योंकि दोनों फोन और टैबलेट (कम से कम आईओएस उपकरणों के लिए कि उनके उपयोगकर्ता एजेन्ट में। –

1

मुझे पता है कि यह थोड़ा देर हो चुकी है, लेकिन मैं वही चीज़ ढूंढ रहा था।

Wurfl है जो आप चाहते हैं। आप इसे आसानी से कार्यान्वित कर सकते हैं और यहां तक ​​कि एक एपीआई भी पूछ सकते हैं जिसे आप पूछ सकते हैं।

एएसपी.नेट आवेदन के लिए पहले आपको एक-ऑफ प्रारंभिक अवश्य रखना होगा।

public class Global : HttpApplication 
{ 
    public const String WurflDataFilePath = "~/App_Data/wurfl.zip"; 
    private void Application_Start(Object sender, EventArgs e) 
    { 
     var wurflDataFile = HttpContext.Current.Server.MapPath(WurflDataFilePath); 
     var configurer = new InMemoryConfigurer().MainFile(wurflDataFile); 
     var manager = WURFLManagerBuilder.Build(configurer); 
     HttpContext.Current.Cache[WurflManagerCacheKey] = manager; 
    } 
} 

और फिर इसे इस तरह उपयोग करें।

var device = WURFLManagerBuilder.Instance.GetDeviceForRequest(userAgent); 
var isTablet = device.GetCapability("is_tablet"); 
var isSmartphone = device.GetCapability("is_smartphone"); 

अधिक जानकारी के लिए जाँच ASP.NET implementation

आशा इस मदद करता है किसी और को इस की तलाश में।

संबंधित मुद्दे