---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.3
alternate:
  - https://yandex.com/dev/rtb/doc/ru/ssp/om-sdk.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/rtb/doc/ru/llms.txt

# Open Measurement SDK (OM SDK)

Верификаторы, измерители — это стороннее по отношению к видеорекламе ПО, которое определяет — была ли реклама показана, и была ли возможность у пользователя ее увидеть. Верификаторами пользуются рекламодатели, чтобы убедиться в том, что сервис, показывающий рекламу, делает все честно.

OM SDK предоставляет стандартизированный подход к работе со сторонними кодами верификаторов, что снижает затраты на разработку, поддержку и валидацию кастомных интеграций. Изначально OM SDK разрабатывался для мобильных устройств, но в декабре 2020 года была разработана версия для Web-видеорекламы.

OM SDK позиционируется как альтернатива VPAID для целей верификации, имеет глубокий доступ к геометрии экрана устройства и отслеживает:

- Viewability (видимость) — находится ли реклама на экране. По стандарту MRC баннер считается увиденным, если 50% его пикселей находились на экране не менее 1 секунды, для видео — 2 секунды.
- Obstructions (перекрытия) — OM SDK видит, если поверх баннера появилось системное окно (например, «Батарея садится») или прозрачный невидимый слой (мошенничество).
- Video Viewability — отслеживает, был ли включен звук (Volume) при показе видео, ставили ли его на паузу, было ли устройство заблокировано во время воспроизведения.

### Как работает OM SDK

OM SDK состоит из двух частей (js-библиотек) — сервисной и клиентской. Сервисная часть представляет собой код, который выполняет работу по замеру видеорекламы — следит за геометрией, отлавливает различные события, и т.п. Клиентская часть предоставляет интегратору API по стандарту OMID (Open Measurement Interface Definition).

С помощью OMID инициализируется и запускается верификация, опосредованно взаимодействуя с сервисной частью. Сервисная часть получает скрипт стороннего верификатора, инициализирует его и взаимодействует через определенное API с ним.

### Как передается

OM SDK передается в `Bid Request` через массив `api` (Frameworks/API, поддерживаемые рекламным местом). Идентификатор для OMID — `7`.

Пример `Bid Request` (нативная реклама или баннер):

``` json
{
  "id": "req-om-123",
  "imp": [
    {
      "id": "imp-1",
      "banner": {
        "w": 320,
        "h": 50,
        "api": [ 3, 7 ] 
      }
    }
  ],
  "app": {
    "bundle": "com.news.app"
  }
}
```

Здесь `api: [3, 7]` означает, что поддерживается MRAID 1.0 (`3`) и OMID 1.0 (`7`).

### Как Yandex DSP отвечает верификацией в Bid Response

Для баннеров и нативной рекламы (в HTML) — скрипт верификатора вставляется прямо в HTML-код внутри поля `adm`. Когда WebView внутри приложения отрендерит этот HTML, скрипт IAS найдет OM SDK в оперативной памяти телефона и начнет получать от него данные.

Для видеорекламы (VAST) — в стандарте VAST 4.x (позднее был добавлен и для 3.0 в виде расширения) появился специальный узел `<AdVerifications>`. В нем передаются ссылки на скрипты измерений.

Как это работает:

1. Плеер приложения считывает VAST.
2. Видит тег `<AdVerifications>` и атрибут `apiFramework="omid"`.
3. Плеер скачивает JS-скрипт по ссылке внутри `<JavaScriptResource>` (скрипт IAS).
4. Плеер запускает этот скрипт и знакомит его с нативным OM SDK устройства.
5. Пока играет видео, OM SDK бесперебойно отправляет скрипту данные (звук, видимость экрана).
6. Если что-то пошло не так (например, плеер не поддерживает OMID, хотя в OpenRTB заявлено обратное), запускается пиксель `verificationNotExecuted`, чтобы рекламодатель знал, почему нет статистики.

