Подскажите - реально ли в мобильном браузере определить Huawei тип мобильного устройства на серверном роуте?
Это необходимо для определения стора ( apple, google huawei ) для последующего редиректа, на который должен отправится пользователь.
Вывожу логи заголовков в роуте
Lumen фрэймворка:
Log::info('goToStore____________');
Log::info('goToStore__request__body' . json_encode($request->all()));
Log::info('goToStore__request__headers' . json_encode($request->headers->all()));
Выводится:
[2021-01-08 08:54:22] prod.INFO: goToStore____________
[2021-01-08 08:54:22] prod.INFO: goToStore__request__body[]
[2021-01-08 08:54:22] prod.INFO: goToStore__request__headers{"accept-language":["ru,en-US;q=0.9,en;q=0.8,ru-RU;q=0.7"],"accept-encoding":["gzip, deflate"],"referer":["android-app:\/\/org.telegram.messenger\/"],"accept":["text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/webp,image\/apng,*\/*;q=0.8,application\/signed-exchange;v=b3;q=0.9"],"user-agent":["Mozilla\/5.0 (Linux; Android 10; STK-LX1) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/87.0.4280.101 Mobile Safari\/537.36"],"upgrade-insecure-requests":["1"],"connection":["keep-alive"],"host":["185.159.129.185:83"],"content-length":[""],"content-type":[""]}
Подовного вида заголовков достаточно - чтобы определить - что определить
Android или
Iphone
Но именно
huawei так определить не является возможным.
Для определения использовал:
$agent = new \Jenssegers\Agent\AgentAgent();
$agent->setHttpHeaders($request->headers->all());
$result = [
'android' => $agent->isAndroidOS(),
'iphone' => $agent->isIphone(),
'huawei-1' => $agent->match('/huawei/iu'),
'huawei-2' => $agent->isHuawei()
];
Напрямую не могу послать пользователя на серверный роут, т.к. по смс это возможно сделать только через браузер.
Может кто-то сталкивался с такой проблемой?