@EVOSandru6

Реально ли в мобильном браузере определить Huawei тип мобильного устройства?

Подскажите - реально ли в мобильном браузере определить 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()
];


Напрямую не могу послать пользователя на серверный роут, т.к. по смс это возможно сделать только через браузер.

Может кто-то сталкивался с такой проблемой?
  • Вопрос задан
  • 715 просмотров
Решения вопроса 2
sanchezzzhak
@sanchezzzhak
Ля ля ля...
Я на год опоздал с ответом....
В целях увеличение популяризации
https://github.com/matomo-org/device-detector
Много чего умеет определять по строке узерагента, базу релизят раз месяц примерно.
Более 20к устройств определяет среди тысячи брендов.
Более 13 типов устройств.
Это лучшие что есть бесплатно для аналитики трафика, определение устройства.

В отличии от WhichBrowser мы стабильно выпускаем обновления (раз месяц)
Скорость приемлемая, ну как она стабильная, как по времени так и по памяти на исполнения скрипта, в некоторых результатах даже превосходит.(лично проверял https://github.com/sanchezzzhak/benchmark-useragen... проект пока не доделал но получить файл тестов можно)

Мы приветствуем вклады, звездочки, отзывы.
Ответ написан
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Mozilla\/5.0 (Linux; Android 10; STK-LX1) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/87.0.4280.101 Mobile Safari\/537.36


5ff90ab153b6a206459229.png

Нужна база устройств как минимум типа как здесь https://github.com/WhichBrowser/Parser-PHP

https://github.com/WhichBrowser/Parser-PHP/blob/88...
тут вроде есть определение такого префикса как хуавей, но не факт что именно в таком виде.

Так что реально, но сложно и надо постоянно свежую базу иметь.
Малоприменимо на практике, проще забить.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы