Search:  

Previous pageMobile Sites Next page
Device detection 

The first stage in device-aware design is to find out what the device is, and based on this, categorise the device as mobile or not.

Detecting the User Agent

Each request from a browser for a page comes with a string identifying the device. This is the "User Agent".

We will identify whether the user is on a mobile device by examining the User Agent string, and then placing them in one of two new User Groups, one called "Visitor - Mobile" and one called "Visitor - Desktop"

A note on the "Visitor" User Group
Normally every visitor to the site is placed in the Visitor user group. They may then optionally log in and be additionally placed in other user groups, such as Registered Visitor, but they also remain in Visitor.

You can leave the "Visitor" User Group alone, or rename it and configure it as the "Visitor - Desktop" User Group. This latter approach may be helpful if you are converting a 'desktop-only' site to being mobile aware, and is the method described below.

Method

Browse to the User Group Manager

Rename the User Group "Visitor" to "Visitor - Desktop"

Create a new User Group, called "Visitor - Mobile"

Click Apply below the panel of user groups to save changes.

Right-click on "Visitor - Mobile", select Subtractive Permissions, and check "Visitor - Desktop", and save changes

Right-click on "Visitor - Mobile", select Automatic Membership, and go to the User Agents tab.

Click "Add...".

On the "User agent regular expression" dialog:

On the Application tab, enter a Title of: "http://detectmobilebrowsers.com/ long matches"

On the Settings tab, enter a Pattern of: (the pattern below is a single string, with no line breaks or spaces)

(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino

Check the "Case insensitive" checkbox.

Click OK to save changes

Back at the User Agents tab add another entry:

Click "Add...".

On the "User agent regular expression" dialog:

On the Application tab, enter a Title of: "http://detectmobilebrowsers.com/ short matches"

On the Settings tab, enter a Pattern of: (the pattern below is a single string, with no line breaks or spaces)

^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-)

Check the "Case insensitive" checkbox.

Click OK to save changes.

OK again until all the dialog boxes are closed, then click Apply below the panel of user groups.

Explanation

The above method defines two user groups, "Visitor - Desktop" and "Visitor - Mobile". By default, the user is in "Visitor - Desktop".

If the user is browsing from a mobile device, and the User Agent matches one of the regular expressions defined in the "Visitor - Mobile" User Group, then the user is placed in that group.

The Subtractive Permissions setting in the "Visitor - Mobile" User Group then takes the user out of the "Visitor - Desktop" User Group.

The Regular Expressions used are those defined by the site http://detectmobilebrowsers.com These are updated from time to time, so you should visit that site to keep up to date. The regular expressions quoted above are those from 1 August 2014, and were still current  when this page was last reviewed in March 2016.

If their Regular Expressions are updated, you can obtain the new ones by downloading their IIS script, and extracting the two strings from the script.

Mobile Sites 
Docs HomePrint:   Print this page