Configure Sitecore Device Detection
From Sitecore 9.0 and later, Sitecore Device Detection is enabled to use Sitecore services and the database provided by 51Degrees by default. You can, however, further customize your installation with several device detection configuration options.
To fully customize your Sitecore Device Detection service, you can also configure a content delivery server.
Enable Device Detection for your Standalone (all-in-one), Content Delivery, and Processing servers. If you are using a rules-based configuration, then this is done automatically.
The Device information provider
If you want to use your own database you can specify the device information provider in sitecore/deviceDetectionManager/providers, for example:
The default value is: Sitecore.CES.DeviceDetection.Providers.FiftyOneDegrees.DeviceInformationProvider51Degree, Sitecore.CES.DeviceDetection
The Device Detection cache
The Device Detection cache stores resolved device information. If your visitors use a broad range of devices, you can increase the default cache size to avoid delays in accessing page content.
-
Specify the cache size (in bytes, KB, MB, or GB) in
sitecore/Settings/DeviceDetection.DeviceDetectionCacheSize.For example:
<setting name= "DeviceDetection.DeviceDetectionCacheSize" value="1024" /><setting name= "``DeviceDetection.DeviceDetectionCacheSize" value="10MB" />
Ensure that the cache size is large enough to store all of your resolved device information, the default value is 10MB. To disable the cache, set the cache value to 0. This is not recommended, as it will adversely affect the performance of your websites.
Device Detection service in the cloud
The Sitecore Customer Experience Service requires that you specify the name of your Device Detection service in the cloud. The default name is DeviceDetection. Do not change the name unless specifically asked to do so by the Sitecore Product Support Service. However, if you do need to change the name, you can change it here: sitecore/Settings/DeviceDetection.``ServiceName
The Device Detection database
You can further customize your Device Detection database by specifying the path where device databases are stored, go to sitecore/settings/DeviceDetection.DatabasePath. The default location is /App_Data/DeviceDetection.
You can define how frequently Sitecore checks the database for performance updates in sitecore/settings/DeviceDetection.DatabaseUpdateCheckInterval. If there is a new version available, the Sitecore Device Detection client downloads the database to the instance by using the Sitecore Device Detection service. The default setting is 1 day.
<setting name="DeviceDetection.DatabaseUpdateCheckInterval" value="1.00
:00" />If your database fails to initialize, due to technical failure or a void license for example, you can specify how often it tries to reinitialize. This affects how quickly Device Detection returns to normal again in the case of a technical failure. Go to: sitecore/settings/DeviceDetection.FailDatabaseCheckInterval.
The default database initialization interval is 10 minutes.
Old versions of databases are not automatically deleted. A database is only deleted after an unsuccessful attempt at initialization.
Configuring your firewall
Sitecore Device Detection requires access to Sitecore services to download and update the device database. Therefore, you must open the HTTPS protocol on your firewall, either for the wildcard domain address *.cloud.sitecore.net (if your firewall allows it), or for the following URLs:
- discovery-ces.cloud.sitecore.net
- devicedetection-ces.cloud.sitecore.net
The services run on highly available pools of compute hosts. By design, the hosts are not set with static IPs because hosts are swapped in and out of the pool on a regular basis to ensure maximum availability. This means that switching IPs is expected behavior – Microsoft has a helpful list of IP ranges that are currently in use and updated regularly.
(Optional) Disabling Device Detection
The Device Detection module is enabled by default. However, if you want to prevent the Device Detection client from contacting the Device Detection service every day (which is the default setting), and you do not need the Device Detection functionality, then you can disable the module. To disable it:
-
Patch the configuration and set
DeviceDetection.Enabledsetting from theSitecore.CES.DeviceDetection.configfile tofalse: