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


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. Fetch a pointer to the 51Degrees device detection provider instance. This is instantiated on server startup and uses settings from php.ini.

    $provider = FiftyOneDegreesPatternV3::provider_get();

  2. Produce a match for a single device id

    my $match = $provider->getMatchForDeviceId($userAgent)

  3. Extract the value of the IsMobile property


This example assumes you have the 51Degrees PHP API installed correctly, and have FiftyOneDegreesPatternV3.php in this directory.

Full Source File
$provider = FiftyOneDegreesPatternV3::provider_get();

// User-Agent string of an iPhone mobile device.
$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 ".

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

// User-Agent string of a MediaHub device.
$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";

// Fetches the device id for a mobile User-Agent.
$match = $provider->getMatch($mobileUserAgent);
$mobileDeviceId = $match->getDeviceId();

// Fetches the device id for a desktop User-Agent.
$match = $provider->getMatch($desktopUserAgent);
$desktopDeviceId = $match->getDeviceId();

// Fetches the device id for a MediaHub User-Agent.
$match = $provider->getMatch($mediaHubUserAgent);
$mediaHubDeviceId = $match->getDeviceId();

echo "Starting Match With Device Id Example<br>\n";

// Carries out a match with a mobile device id.
echo "<br>\nMobile Device Id: ".$mobileDeviceId."<br>\n";
$match = $provider->getMatchForDeviceId($mobileDeviceId);
echo "   IsMobile: ".$match->getValue("IsMobile")."<br>\n";

// Carries out a match with a desktop device id.
echo "<br>\nDesktop Device Id: ".$desktopDeviceId."<br>\n";
$match = $provider->getMatchForDeviceId($desktopDeviceId);
echo "   IsMobile: ".$match->getValue("IsMobile")."<br>\n";

// Carries out a match with a MediaHub device id.
echo "<br>\nMediaHub DeviceId: ".$mediaHubDeviceId."<br>\n";
$match = $provider->getMatchForDeviceId($mediaHubDeviceId);
echo "   IsMobile: ".$match->getValue("IsMobile")."<br>\n";

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.