The following methods are consistent across the currently supported platforms: PHP, Java ASP.NET, and Python.
- In PHP, it’s called Get_Uagent().
- GetHttpAccept(): Gets the full HTTP accept value. Browsers use this value to provide details about what kinds of content it can accept, such as images (e.g., PNG, GIF, JPG), text, and Java. This value is useful to detect for WAP and WML support in older devices.
- In PHP, it’s called Get_HttpAccept().
DETECTION METHOD RETURN VALUES
All DetectXXX() methods return a boolean or equivalent.
- PHP: Returns the integers 1 for TRUE or 0 for FALSE. These values can be configured as they are variables set at the beginning of the variable list.
- Java: Returns the booleans TRUE or FALSE.
- ASP.NET: Returns the booleans TRUE or FALSE.
- Python: Returns the booleans TRUE or FALSE.
DETECTION METHODS: Platforms and OSes
- DetectIphoneOrIpod(): When creating an iPhone-optimized site, use this method. Don’t ignore the iPod Touches!
- DetectIos(): A convenience method for catching any iOS device.
- DetectAndroid(): Detects any Android device: phones, multi-media players, tablets, and Google TV.
- DetectAndroidPhone(): Includes phones and multi-media players; excludes tablets
- DetectWebkit(): Note that some desktop browsers also use WebKit rendering engine, including desktop Safari.
- DetectS60OssBrowser(): This is the new WebKit-based browser rather than the older proprietary browser Nokia used.
- DetectSymbianOS(): Includes non-Nokia devices.
- DetectBlackBerry(): For all BlackBerry devices.
- DetectBlackBerryTablet(): For the PlayBook
- DetectBlackBerryWebKit(): For new BlackBerry OS 6 devices running the new WebKit browser.
- DetectBlackBerryTouch(): For touchscreen devices, including Storm, Storm 2, Torch, and Bold Touch (99xx).
- DetectAmazonSilk(): Detects the Android-based Amazon Kindle Fire when the Silk acceleration mode is on.
- DetectArchos(): Primarily intended for the older non-Android-based video and music players.
DETECTION METHODS: Classes of Devices
These methods detect broad classes of mobile devices, excluding the Apple iPad. However, for developing mobile-optimized web design, we recommend using the Device Tier methods.
- DetectSmartphone(): Detects any kind of smartphone device. This method doesn’t take into account browser capabilities.
- DetectMobileQuick(): Detects most recent mobile phones.
- DetectMobileLong(): Detects most mobile phones, including some older phones, and game consoles.
- DetectGameConsole(): Rolls all of the gaming consoles up into a single method.
DETECTION METHODS: Device Tiers
These methods group mobile phones into three broad tiers based on the capabilities of their browsers.
- This list will be updated as new tablets are launched!
- Note that sometimes 7″ tablets report themselves as tablets while other times they report themselves as phones; it depends on the OEM.
- iPhone and iPod Touch
- Android phones & multi-media (MP3) players
- Windows Phone 7
- BlackBerry OS 6 WebKit Browser
- WebOS -Garmin Nuvifone
- Symbian S60 Open Source Browser (WebKit-based)
- ‘High’ BlackBerry devices
- Windows Mobile
- Other WebKit-based browsers
- DetectTierOtherPhones(): Detects for all other mobile devices, excluding the iPhone or Rich CSS tier devices. For these devices, it’s best to serve only the most basic CSS style, limited to little more than text color, alignment, and bold/italics.
To best use the device tier system, you might optimize your device detection logic like this:
- If DetectTierIphone(), send to the nice iPhone/Android/etc. optimized version of the site.