Mobile app version of vmapp.org
Login or Join
Karen161

: Detecting Android tablets vs phones with User Agent I inherited a site that has PHP code that decides to either serve the dedicated mobile site or desktop site to the user. I would prefer that

@Karen161

Posted in: #UserAgent

I inherited a site that has PHP code that decides to either serve the dedicated mobile site or desktop site to the user.
I would prefer that tablets get served the mobile site. Currently Android tablet users get served the desktop site.
I'd like to figure out how I can implement User Agent to detect an android tablet (with distinction from an Android phone)
This is the code I'm working with to determine which site to serve (mobile or desktop)

if ((strpos($user_agent, 'Mobile') === false && // Generic mobile browser string, most browsers have it.
strpos($user_agent, 'SymbianOS') === false && // Nokia device running Symbian OS.
strpos($user_agent, 'Opera M') === false && // Opera Mini or Opera Mobile.
strpos($user_agent, 'Android') === false && // Android devices that don't have 'Mobile' in UA string.
stripos($user_agent, 'HTC_') === false && // HTC devices that don't have 'Mobile' nor 'Android' in UA string. Case insensitive.
strpos($user_agent, 'Fennec/') === false && // Firefox mobile
strpos($user_agent, 'Kindle') === false && // Kindle Fire tablet
strpos($user_agent, 'BlackBerry') === false) || // BlackBerry
strpos($user_agent, 'iPad') === false) // iPad
{
// Serve Desktop Site
return false;
}

10.01% popularity Vote Up Vote Down


Login to follow query

More posts by @Karen161

1 Comments

Sorted by latest first Latest Oldest Best

 

@Smith883

The identification your script is doing is blind, what I mean is that is trying to look just for that words inside the UA string in order to get the value and redirect the user.

There are much more advanced libraries available for Free that will allow you to more correctly identify your users.

I've used this one in the past with good results: mobiledetect.net/
They identify themselves as "The lightweight PHP class for detecting mobile devices (including tablets)." so this should solve your problem.

This library gives you the property isTablet -> yes/no, which can help you identify the devices you want and redirect them accordingly.

While doing my search I also found this one that also seems fine.

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme