Есть простая версия для определения OS, Browsers, Brands, Models, Devices.
Нужно улучшить поддержку детектирования OS & Browsers с поддержкой матчинга по имени или UA.
Также добавить загрузку и своевременное обновление из DB. OS & Browsers - это иерорхические структуры у которых предполагается обобщающая сущность в виде бренда или производителя OS & Browsers
Путь: GitHub.com/geniusrabbit/adcorelib/personification/simple_client.go
Является имплементацией интерфейса для протокола advisor сервиса который описан в проекте udetect.
// Client interface
type Client interface {
Detect(ctx context.Context, req *udetect.Request) (*udetect.Response, error)
}
Основная задача протокола udetect это предоставление информации о пользователе по определенному набору данных описанных в udetect.Request
Models:
OS - adcorelib/models/os.go
Browser - adcorelib/models/browser.go
В обоих присутствует необходимое поле MatchExp.
Поскольку оно не задействовано пока то не выбран его формат. Предполагалось использовать wieldcard format который должен быть более легкий для вычислений нежели regexp.
Также для матчинга используется дополнительное поле Versions.
NOTE: Задача до конца не додумана и предполагается дописывание и обсуждение ее исполнителем. Пожалуйста, все вопросы записываем, изменение по задаче дополняем.
Есть простая версия для определения
OS,Browsers,Brands,Models,Devices.Нужно улучшить поддержку детектирования
OS&Browsersс поддержкой матчинга по имени или UA.Также добавить загрузку и своевременное обновление из
DB.OS&Browsers- это иерорхические структуры у которых предполагается обобщающая сущность в виде бренда или производителяOS&BrowsersПуть:
GitHub.com/geniusrabbit/adcorelib/personification/simple_client.goЯвляется имплементацией интерфейса для протокола
advisorсервиса который описан в проектеudetect.Основная задача протокола
udetectэто предоставление информации о пользователе по определенному набору данных описанных вudetect.RequestModels:
OS-adcorelib/models/os.goBrowser-adcorelib/models/browser.goВ обоих присутствует необходимое поле
MatchExp.Поскольку оно не задействовано пока то не выбран его формат. Предполагалось использовать
wieldcardformat который должен быть более легкий для вычислений нежелиregexp.Также для матчинга используется дополнительное поле
Versions.