Previous page | Mobile 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 AgentEach 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 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. MethodBrowse 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. ExplanationThe 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. |
|