This example shows how to use the 51Degrees Cloud service to lookup the details of a device based on a given 'native model name'. Native model name is a string of characters that are returned from a query to the device's OS. There are different mechanisms to get native model names for Android devices and iOS devices
<?php
require_once(__DIR__ . "/../../vendor/autoload.php");
use fiftyone\pipeline\core\Logger;
if (basename(__FILE__) == basename($_SERVER["SCRIPT_FILENAME"]))
{
function main($argv)
{
$logger = new Logger("info");
$resourceKey = ExampleUtils::getResourceKeyFromEnv();
if (empty($resourceKey)) {
$resourceKey = ExampleUtils::getResourceKeyFromCliArgs($argv);
}
if (empty($resourceKey)) {
$message = "No resource key specified in CLI args or environment variable '" .
ExampleUtils::RESOURCE_KEY_ENV_VAR . "'." . PHP_EOL .
"The 51Degrees cloud service is accessed using a 'ResourceKey'. " .
"For more information " .
"see http://51degrees.com/documentation/_info__resource_keys.html. " .
"Native model lookup is not available as a free service. This means that " .
"you will first need a license key, which can be purchased from our " .
"pricing page: http://51degrees.com/pricing. Once this is done, a resource " .
"key with the properties required by this example can be created at " .
"https://configure.51degrees.com/QKyYH5XT. You can now populate the " .
"environment variable mentioned at the start of this message with the " .
"resource key or pass it as the first argument on the command line.";
ExampleUtils::logErrorAndExit($logger, $message);
}
(new NativeModelLookupConsole())->run($resourceKey, $logger, [ExampleUtils::class, 'output']);
}
main(isset($argv) ? array_slice($argv, 1) : null);
}