-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Есть простая версия для определения 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.goBrowser-adcorelib/models/browser.go
В обоих присутствует необходимое поле MatchExp.
Поскольку оно не задействовано пока то не выбран его формат. Предполагалось использовать wieldcard format который должен быть более легкий для вычислений нежели regexp.
Также для матчинга используется дополнительное поле Versions.
NOTE: Задача до конца не додумана и предполагается дописывание и обсуждение ее исполнителем. Пожалуйста, все вопросы записываем, изменение по задаче дополняем.