Check out the latest documentation.

What's Covered

This tutorial illustrates the basic use of the 51Degrees API. It will show you how to create a provider, how to create a dataset and how to obtain a value for the IsMobile property.

Code and Explanation

Getting started 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 = FiftyOneDegreesTrieV3::provider_get();
    
    												

  • Produce a match for a single HTTP User-Agent header

    									
    my $match = $provider->getMatch($userAgent)
    
    									
  • Extract the value of the IsMobile property

    									
    $match->getValue('IsMobile')
    
    									
    This example assumes you have the 51Degrees PHP API installed correctly, and have FiftyOneDegreesTrieV3.php in this directory. By comparing this to the gettingstarted.pl example which uses the pattern method, you can see the differences are the module name.

    Full Source File
    												
    require("../trie/FiftyOneDegreesTrieV3.php");
    
    $provider = FiftyOneDegreesTrieV3::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 ".
    "Safari/9537.53";
    
    // 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/30.0.0.0 Safari/537.36";
    
    echo "Starting Getting Started Trie Example.<br>\n";
    
    // Carries out a match with a mobile User-Agent.
    echo "<br>\nMobile User-Agent: ".$mobileUserAgent."<br>\n";
    $match = $provider->getMatch($mobileUserAgent);
    echo "IsMobile: ".$match->getValue("IsMobile")."<br>\n";
    
    // Carries out a match with a desktop User-Agent.
    echo "<br>\nDesktop User-Agent: ".$desktopUserAgent."<br>\n";
    $match = $provider->getMatch($desktopUserAgent);
    echo "IsMobile: ".$match->getValue("IsMobile")."<br>\n";
    
    // Carries out a match with a MediaHub User-Agent.
    echo "<br>\nMediaHub User-Agent: ".$mediaHubUserAgent."<br>\n";
    $match = $provider->getMatch($mediaHubUserAgent);
    echo "IsMobile: ".$match->getValue("IsMobile")."<br>\n";
    
    
    												
    Full Source File

  • Summary

    In this tutorial you have seen how to use the detector to retrieve the IsMobile property for a pre-defined User-Agent 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 file versions they exist in please see the Property Dictionary .