Skip to content

Улучшить методы детекта для простой имплементацию сервиса personification.SimpleClient #3

@demdxx

Description

@demdxx

Есть простая версия для определения 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: Задача до конца не додумана и предполагается дописывание и обсуждение ее исполнителем. Пожалуйста, все вопросы записываем, изменение по задаче дополняем.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions