• About Us
  • Blog
  • Basket
  • Account
  • Sign In

Node.js API

What's Covered

This tutorial illustrates how to return a match for a Device Id. It shows how to first get the Device Id from a match, then get a match for that Device Id and return the value of the IsMobile property. This can be useful to look at devices that have already been matched at a previous date.

Code and Explanation

Match with device id example of using 51Degrees device detection. The example shows how to:
  1. Set the configuration using a json object

    var config = {"dataFile" : require("fiftyonedegreeslitepattern"),
                  "properties" : "IsMobile",
                  "cacheSize" : 10000,
                  "poolSize" : 4

  2. Instantiate the 51Degrees device detection provider with this connfiguration

    var provider = new fiftyonedegrees.provider(config);

  3. Produce a match for a single device id

    var match = provider.getMatchForDeviceId(deviceId)

  4. Extract the value of the IsMobile property


Full Source File
// Include 51Degrees.
var fiftyonedegrees = require("fiftyonedegreescore");

// Set the config.
var config = {"dataFile" : require("fiftyonedegreeslitepattern"),
              "properties" : "IsMobile",
              "cacheSize" : 10000,
              "poolSize" : 4,
              "stronglyTyped" :false

// User-Agent string of an iPhone mobile device.
var mobileUserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 7_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) 'Version/7.0 Mobile/11D167 Safari/9537.53";

// User-Agent string of Firefox Web browser version 41 on desktop.
var desktopUserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0";

// User-Agent string of a MediaHub device.
var mediaHubUserAgent = "Mozilla/5.0 (Linux; Android 4.4.2; X7 Quad Core Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/ Safari/537.36";

// Gets a match for the supplied User-Agent and returns the device id.
var getDeviceId = function(userAgent) {
    try {
        var match = provider.getMatch(userAgent);
        var deviceId = match.getDeviceId();
    finally {
        return deviceId;
console.log("Starting Match For Device Id Example.");

Initialises the device detection provider with settings from the config.
By default this will use the packaged Lite data file. For more info see:
<a href="https://51degrees.com/compare-data-options">compare data options
var provider = new fiftyonedegrees.provider(config);

// Get the device id for a selection of User-Agents.
var mobileDeviceId = getDeviceId(mobileUserAgent);
var desktopDeviceId = getDeviceId(desktopUserAgent);
var mediaHubDeviceId = getDeviceId(mediaHubUserAgent);

// Carries out a match for a mobile device id.
console.log("\nMobileDeviceId : " + mobileDeviceId);
var match = provider.getMatchForDeviceId(mobileDeviceId);
console.log("   IsMobile: " + match["IsMobile"]);

// Carries out a match for a desktop device id.
console.log("\nDesktopDeviceId : " + desktopDeviceId);
var match = provider.getMatchForDeviceId(desktopDeviceId);
console.log("   IsMobile: " + match["IsMobile"]);

// Carries out a match for a MediaHub device id.
console.log("\nMediaHubDeviceId : " + mediaHubDeviceId);
var match = provider.getMatchForDeviceId(mediaHubDeviceId);
console.log("   IsMobile: " + match["IsMobile"]);

Full Source File


In this tutorial you have seen how to use the detector to retrieve the IsMobile property for a pre-defined Device ID string. The example can easily be modified to retrieve the value of any other property. Premium and Enterprise data files provide considerably more properties such as IsCrawler, PriceBand, HardwareVendor and ScreenInchesWidth. For a full list of properties and the data files they exist in please see the Property Dictionary.