This package sets up the database and middleware needed in storing devices. This is perfect for handling mobile devices using your web API. You'll be able to identify each device, assign them an FCM token, and relate them to users as well.
You can install the package via composer:
composer require coreproc/laravel-devices
You must publish the migration with:
php artisan vendor:publish --provider="Coreproc\Devices\DevicesServiceProvider" --tag="migrations"
Migrate the statuses table:
php artisan migrate
Optionally you can publish the config file with:
php artisan vendor:publish --provider="Coreproc\Devices\DevicesServiceProvider" --tag="config"
To begin storing device information, you can attach the store.device
middleware to any of your routes. Here is an
example:
// routes/api.php
Route::middleware('store.device')->get('/test', function (Request $request) {
return [];
});
Now, when you use the API endpoint /api/test
, you can attach the device information to the header. Here is a complete
list of data that you can enter:
curl --request GET \
--url http://devices.test/api/test \
--header 'x-device-app-version: 1.0.1' \
--header 'x-device-fcm-token: firebase-cloud-messaging-token' \
--header 'x-device-manufacturer: Samsung' \
--header 'x-device-model: Galaxy S10' \
--header 'x-device-os: Android' \
--header 'x-device-os-version: 8.0' \
--header 'x-device-udid: unique-device-udid'
This will store all of the above information to the database. Only the x-device-udid
header field is required.
If a user is authenticated, it will relate the user to this device automatically.
You can define the guard to be used in the first parameter of the middleware.
// routes/api.php
Route::middleware('store.device:web')->get('/test', function (Request $request) {
return [];
});
You can define if the device should be required or not in the second parameter, delimted by a comma.
// routes/api.php
Route::middleware('store.device:web,0')->get('/test', function (Request $request) {
return [];
});
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
CoreProc is a software development company that provides software development services to startups, digital/ad agencies, and enterprises.
Learn more about us on our website.
The MIT License (MIT). Please see License File for more information.