1. Go to this page and download the library: Download track-any-device/core library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
return [
// Seconds to sleep between webhook retry attempts [attempt-1, attempt-2, ...]
'webhook_backoff' => [2, 8],
];
return [
// Auto-discovered — listed here for clarity
TrackAnyDevice\Core\CoreServiceProvider::class,
// Must be registered manually
TrackAnyDevice\Core\Providers\TenancyServiceProvider::class,
TrackAnyDevice\Core\Providers\DeviceServiceProvider::class,
TrackAnyDevice\Core\Providers\FortifyServiceProvider::class,
];
use TrackAnyDevice\Core\Providers\DeviceServiceProvider;
$driver = DeviceServiceProvider::driverFor($device->deviceType->slug);
use TrackAnyDevice\Core\Concerns\BelongsToTenant;
use TrackAnyDevice\Core\Concerns\UsesCentralConnection;
class MyModel extends Model
{
use BelongsToTenant, UsesCentralConnection;
}
use TrackAnyDevice\Core\Services\SignalService;
$service = app(SignalService::class);
// Record a signal
$signal = $service->record($signalObject, $device);
// Query history
$signals = $service->queryHistory(
deviceId: $device->id,
from: now()->subHours(6),
to: now(),
limit: 500,
eventType: 'location', // optional
);
// Latest signals (last 30 days)
$signals = $service->latestForDevice($device->id, limit: 100);
use TrackAnyDevice\Core\Services\AssignmentService;
$service = app(AssignmentService::class);
// Assign
$assignment = $service->assign($device, $assignee, $assignedBy);
// Transfer to another assignee
$assignment = $service->transfer(
device: $device,
newAssignee: $newAssignee,
transferredBy: $user,
forceIfCriticalIncidents: false, // throws if unresolved critical incidents
);
// Return
$assignment = $service->returnDevice($assignment, $returnedBy, conditionIn: 'good');
use TrackAnyDevice\Core\Services\GeoFence;
$geo = app(GeoFence::class);
$inside = $geo->isInsideBeat($beat, $latitude, $longitude);
// Convert a legacy circle beat to polygon vertices
$polygon = $geo->circleToPolygon($lat, $lng, $radiusMetres, points: 64);
// Validate a child beat fits within its parent
$fits = $geo->childFitsWithinParent($parentBeat, $childCoordinates);