THE Fastest and Most Accurate Device Detection
Recent Changes | Supported Databases | .NET Developer Documention | Available Properties | Support Forum
Upgrading from version 3.1 or lower? - Important Change
The embedded free Lite device data has been removed from the assembly and by default placed in the App_Data folder for both web and non-web projects. The solution will not work without the associated data file being provided. The WebProvider.ActiveProvider property can now return null.
Note: Using the new FindProfiles function with data files prior to February 2016 may cause unexpected behaviour.
Get Started
Server Side: Use code like...
Request.Browser["IsMobile"]
or
Request.Browser["IsTablet"]
... from within a web application server side to determine the requesting device type.
Client Side: Include...
https://[YOUR DOMAIN]/51Degrees.features.js?DeviceType&ScreenInchesDiagonal
... from Javascript to retrieve device type and physcial screen size information. Use Google Analytics custom dimensions to add this data for more granular analysis.
Offline: Use...
var detectionProvider = new Provider(StreamFactory.Create("[DATA FILE LOCATION]"));
var deviceType = detectionProvider.Match("[YOUR USERAGENT]")["DeviceType"];
... to perform offline analysis of web logs with User-Agent headers.
Compare Device Databases
Review All Properties
Recent Changes
Version 3.2 Highlights
- Embedded data has been removed from the assembly and now must be provided from the App_Data folder.
- .NET 3.5 is not supported in this release in order to use memory mapped files and simplify overriding default browser capabilities.
- In stream mode entity data properties that can allocate large arrays only initialise these arrays when needed.
- Caches used with stream operation are now fixed memory size and serviced via the thread pool.
- Automatic update processes uses temporary files rather than main memory to verify integrity of updated files prior to using them.
- Temporary files are now created in the App_Data/51Degrees folder of the web application rather than a UNC path or the master data file folder.
- Values associated with Profiles are now retrieved using a more efficient algorithm.
- DataSet.Properties collection now has a string accessor to make retrieving properties by name simpler.
- Web sites using memory mode use a byte array to improve start up time.
- Version 3.2 data file formats are supported in parallel with version 3.1 data files.
- 51Degrees unit tests are now part of the open source distribution.
- Improvements to image optimiser to reduce memory consumption and performance.
- Ability to search for profiles that match a specified property value pair.
Changes from 3.2.6
- Provider supports retrieving profiles relating to a specified property value pair.
- Values are now initialsed with only their indexes into memory until they are needed. This is to speed up functions such as the new find profiles function.
- Data file values are now in ASCII order.
See GitHub commit history for changes details and earlier versions.