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.11
- When the WebProvider is being used outside a web environment to make use of the update feature, it is useful to see the return code of the data file download. The codes are detailed in the LicenceKeyResults enumeration. Updating manually in this way may mean that the Download method is called when there is no bin directory (where the API searches for a licence key file). For this reason a check has been added to the Keys method in LicenceKeys which checks for the existance of the bin directory before searching it for a licence key file.
- Added all profiles example, and removed unnecessary configurations.
- Updated the Lite data files for September data.
See GitHub commit history for changes details and earlier versions.