شناسایی دستگاه کاربر (موبایل ، دسکتاپ ، تبلت ، ربات و … ) در لاراول ، ما می توانیم با استفاده ازیک پکیج (پکیج agent) در لاراول هر دستگاهی را در لاراول شناسایی کنیم.در ادامه با ما همراه باشید و مراحل زیر را دنبال کنید.
همچنین بخوانید: ساخت RESTful API برای عملیات CRUD در لاراول به همراه احراز هویت با استفاده از Passport
ما باید پکیج jessenger/agent را بوسیله composer نصب کنیم. به پوشه پروژه لاراول خود بروید دستور زیر را اجرا کنید:
composer require jenssegers/agent
بعد از نصب پکیج ما باید provider و alias را تنظیم کنیم. به مسیر config/app.php بروید و کلاس های Jenssegers را مانند زیر به provider و alias اضافه کنید:
'providers' => [
....
Jenssegers\Agent\AgentServiceProvider::class,
]
'aliases' => [
....
'Agent' => Jenssegers\Agent\Facades\Agent::class,
]
در این مرحله ما باید مسیرهایی (routes) برای شناسایی دستگاه ها یا تشخیص دستگاه ها ایجاد کنیم. فایل routes/web.php را باز کنید و مسیرهای (routes) زیر را ایجاد کنید:
شناسایی دستگاه موبایل در لاراول
Route::get('detect', function () {
$agent = new \Jenssegers\Agent\Agent;
$result = $agent->isMobile();
if ($result)
return "Yes, This is Mobile.";
else
return "No, This is not Mobile.";
});
شناسایی دستگاه دسکتاپ در لاراول
Route::get('detect', function () {
$agent = new \Jenssegers\Agent\Agent;
$result = $agent->isDesktop();
if ($result)
return "Yes, This is Desktop.";
else
return "No, This is not Desktop.";
});
شناسایی Phone در لاراول
Route::get('detect', function () {
$agent = new \Jenssegers\Agent\Agent;
$result = $agent->isPhone();
if ($result)
return "Yes, This is Phone.";
else
return "No, This is not Phone.";
});
شناسایی تبلت در لاراول
Route::get('detect', function () {
$agent = new \Jenssegers\Agent\Agent;
$result = $agent->isTablet();
if ($result)
return "Yes, This is Tablet.";
else
return "No, This is not Tablet.";
});
شناسایی ربات (Robot) در لاراول
Route::get('detect', function () {
$agent = new \Jenssegers\Agent\Agent;
$result = $agent->isRobot();
if ($result)
return "Yes, This is Robot.";
else
return "No, This is not Robot.";
});
@if((new \Jenssegers\Agent\Agent())->isDesktop())
{{-- your code --}}
@endif
@if((new \Jenssegers\Agent\Agent())->isMobile())
{{-- your code --}}
@endif