Recognize whether the user is using iOS or Android

4

I'm developing a screen for a website, and the customer asks if there's a chance the site will recognize whether the user is using Android or iOS.

If you're on Android, go to Google Play to download the app and if it's iOS for the App Store. It could be a redirect.

If it is on the PC, it opens the normal screen.

Is there a possibility?

    
asked by anonymous 29.08.2014 / 14:36

2 answers

5

Server-side, you can check the content of the user-agent header:

// Match user agent string with operating systems 
Windows 3.11 => Win16,
Windows 95 => (Windows 95)|(Win95)|(Windows_95),
Windows 98 => (Windows 98)|(Win98),
Windows 2000 => (Windows NT 5.0)|(Windows 2000),
Windows XP => (Windows NT 5.1)|(Windows XP),
Windows Server 2003 => (Windows NT 5.2),
Windows Vista => (Windows NT 6.0),
Windows 7 => (Windows NT 6.1),
Windows 8 => (Windows NT 6.2),
Windows NT 4.0 => (Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT),
Windows ME => Windows ME,
Open BSD => OpenBSD,
Sun OS => SunOS,
Linux => (Linux)|(X11),
Mac OS => (Mac_PowerPC)|(Macintosh),
QNX => QNX,
BeOS => BeOS,
OS/2 => OS/2,
Search Bot=>(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves/Teoma)|(ia_archiver)

( source )

Via JavaScript, the same can be done by checking the partial content of navigator.appVersion :

if (navigator.appVersion.indexOf("Win")!=-1) //Windows

You can then decide which store to use with a snippet like this:

var playStoreUrl = "http://www.play.google.com/",
    appStoreUrl  = "http://www.itunes.com/myapp",
    platform     = navigator.platform;

if (/mac/i.test(platform))
    $("#redirect").attr("href", appStoreUrl);
else if (/linux/i.test(platform))
    $("#redirect").attr("href", playStoreUrl);
else
    // Handle the case where the OS is neither MacOS nor Linux

( source )

    
29.08.2014 / 14:43
2

There are scrripts ready to do this for you.

This site has for almost all languages: link

Basically just download the script you want and it already was.

EDIT

I do not put the code because it comes minified , otherwise I would post it.

    
29.08.2014 / 14:46