Select a language.
C does not have a Pipeline implementation or the ability to use the cloud-based version of Device Detection. To get started with C device detection on-premise:
- Clone the GitHub repository.
- Ensure you have Git LFS installed. The device data files are large binary files that can cause problems if stored in a Git repository directly, so Git LFS is used.
- Ensure all submodules are checked out by running
git submodule update --init --recursive
in the repository. - Follow the installation instructions to get set up with the project.
- Follow the linked example here: Getting Started.
- (optional) Obtain a License Key by purchasing a subscription and download a data file with access to more devices and properties, see our pricing page for details.
C++ does not have a Pipeline implementation or the ability to use the cloud-based version of Device Detection. To get started with C++ device detection on-premise:
- Clone the GitHub repository.
- Ensure you have Git LFS installed. The device data files are large binary files that can cause problems if stored in a Git repository directly, so Git LFS is used.
- Ensure all submodules are checked out by running
git submodule update --init --recursive
in the repository. - Follow the installation instructions to get set up with the project.
- Follow the linked example here: Getting Started.
- (optional) Obtain a License Key by purchasing a subscription and download a data file with access to more devices and properties, see our pricing page for details.
Standalone pipeline / off-line processing
- Install the FiftyOne.DeviceDetection package via Nuget.
- Follow the appropriate example from the options below:
- Cloud Example - Negligible processing and memory overhead but slower due to Internet latency.
- On-Premise Example - Device detection processing is performed locally using a data file that must be kept updated.
ASP.NET Core integration.
- Install the FiftyOne.DeviceDetection and FiftyOne.Pipeline.Web packages via Nuget.
- Follow the web example to add the Pipeline middleware.
- Configure the pipeline using the configuration from the appropriate example from the options below:
- Cloud Example - Negligible processing and memory overhead but slower due to Internet latency.
- On-Premise Example - Device detection processing is performed locally using a data file that must be kept updated.
- (optional) Configure client-side evidence to get better results. Particularly for iPhone and iPad.
ASP.NET integration.
- Install the FiftyOne.DeviceDetection and FiftyOne.Pipeline.Web packages via Nuget.
- Follow the web example to add the Pipeline middleware.
- Configure the pipeline using the configuration from the appropriate example from the options below:
- Cloud Example - Negligible processing and memory overhead but slower due to Internet latency.
- On-Premise Example - Device detection processing is performed locally using a data file that must be kept updated.
- (optional) Configure client-side evidence to get better results. Particularly for iPhone and iPad.
Standalone pipeline / off-line processing
- Install the com.51degrees.pipeline.device-detection package via Maven.
- Follow the appropriate example from the options below:
- Cloud Example - Negligible processing and memory overhead but slower due to Internet latency.
- On-Premise Example - Device detection processing is performed locally using a data file that must be kept updated.
Web servlet integration.
- Install the com.51degrees.device-detection and com.51degrees.pipeline.web packages via Maven.
- Follow the servlet example to add the Pipeline filter.
- Configure the pipeline using the configuration from the appropriate example from the options below:
- Cloud Example - Negligible processing and memory overhead but slower due to Internet latency.
- On-Premise Example - Device detection processing is performed locally using a data file that must be kept updated.
- (optional) Configure client-side evidence to get better results. Particularly for iPhone and iPad.
Spring MVC integration.
- Install the com.51degrees.device-detection and com.51degrees.pipeline.web packages via Maven.
- Follow the Spring MVC example to add the Pipeline filter.
- Configure the pipeline using the configuration from the appropriate example from the options below:
- Cloud Example - Negligible processing and memory overhead but slower due to Internet latency.
- On-Premise Example - Device detection processing is performed locally using a data file that must be kept updated.
- (optional) Configure client-side evidence to get better results. Particularly for iPhone and iPad.
- Install the fiftyone.devicedetection package from NPM.
- Follow the appropriate example from the options below:
- Cloud Example - Negligible processing and memory overhead but slower due to Internet latency.
- On-Premise Example - Device detection processing is performed locally using a data file that must be kept updated.
Cloud
This implementation of device detection makes use of 51Degrees' cloud service. In PHP, the cloud version is much easier to work with than the on-premise implementation as well as having much lower memory and CPU requirements. However, it is slower due to Internet latency. If you want faster detections, you should consider on-premise.
- Install the 51degrees/fiftyone.devicedetection package using Composer.
- Follow the Cloud Example.
On-Premise
Device detection processing is performed locally using a data file that must be kept updated. Due to the restrictions imposed by Composer and Packagist, we cannot supply the on-premise engines through the usual package management ecosystem. Instead, you'll need to clone the repository from GitHub and follow the instructions there in order to build and use the on-premise implementation.
- Install the fiftyone_devicedetection package from PyPI.
- Follow the appropriate example from the options below:
- Cloud Example - Negligible processing and memory overhead but slower due to Internet latency.
- On-Premise Example - Device detection processing is performed locally using a data file that must be kept updated.
Varnish does not have a Pipeline implementation or the ability to use the cloud-based version of Device Detection. To get started with Varnish device detection on-premise:
- Clone the GitHub repository.
- Ensure you have Git LFS installed. The device data files are large binary files that can cause problems if stored in a Git repository directly, so Git LFS is used.
- Ensure all submodules are checked out by running
git submodule update --init --recursive
in the repository. - Follow the installation instructions to get set up with the project.
- Follow the linked example here: Getting Started.
- (optional) Obtain a License Key by purchasing a subscription and download a data file with access to more devices and properties, see our pricing page for details.
Nginx does not have a Pipeline implementation or the ability to use the cloud-based version of Device Detection. To get started with Nginx device detection on-premise:
- Clone the GitHub repository.
- Ensure you have Git LFS installed. The device data files are large binary files that can cause problems if stored in a Git repository directly, so Git LFS is used.
- Ensure all submodules are checked out by running
git submodule update --init --recursive
in the repository. - Follow the installation instructions to get set up with the project.
- Follow the linked example here: Getting Started.
- (optional) Obtain a License Key by purchasing a subscription and download a data file with access to more devices and properties, see our pricing page for details.
Currently, we have a light set of device detection features for Go users to try and evaluate the capability of 51Degrees device detection. Documentation for Go can be found via the following GitHub repositories: device-detection-go, device-detection-examples-go. To get started with Go device detection on-premise:
- Clone the GitHub repository.
- Ensure you have Git LFS installed. The device data files are large binary files that can cause problems if stored in a Git repository directly, so Git LFS is used.
- Ensure all submodules are checked out by running
git submodule update --init --recursive
in the repository. - Follow the installation instructions to get set up with the project.
- Follow the linked example here: Getting Started.
- (optional) Obtain a License Key by purchasing a subscription and download a data file with access to more devices and properties, see our pricing page for details.