Встроить видеоплеер
Подключение
<script src="https://yastatic.net/vh-player/loader.js"></script>
<script>
var player = new Yandex.VH.Player(containerId, paramsObject);
</script>
API кода вставки
containerId: string
— id контейнера, в который будет встроен плеер VH.
paramsObject
— javascript-объект со свойствами:
Свойство |
Тип |
Описание |
|
|
Обязательный параметр. |
|
|
Ширина iframe c песочницей плеера VH. |
|
|
Высота iframe c песочницей плеера VH. |
|
|
Объект с get-параметрами, подробнее см. Параметры запуска плеера. |
|
|
Объект настроек рекламы. |
|
|
Параметр для включения поддержки AMP-страниц. |
Пример:
var player = new Yandex.VH.Player('player1', {
contentId: '14900627828921839597',
width: 1200,
height: 620,
adConfig: {
adBreaks: [
{ adFoxParameters: {} }
]
},
params: {
autoplay: 0,
mute: 1,
tv: 0,
loop: 1,
preload: 0
}
});
Методы
Метод |
Описание |
|
Запустить воспроизведение. |
|
Поставить плеер на паузу. |
|
Выключить звук у плеера. |
|
Включить звук у плеера. |
|
Установить качество видео. |
|
Перемотать воспроизведение на нужный момент. |
|
Изменить громкость. |
|
Изменить источник видео без пересоздания плеера: |
|
Подписать на событие. |
|
Одноразово подписать на событие. |
|
Отписать от события. |
|
Вынести плеер на фиксированную позицию на экране. На вход принимает аргументы |
|
Вернуть плеер на изначальную позицию. |
|
Изменить высоту и ширину плеера. |
|
Удалить плеер. |
События
В информации о событии приходят поля:
{
isMuted: {boolean};
time: {number};
}
|
Показывает, выключен ли звук у плеера. |
|
Текущее время воспроизведения. |
Событие |
Описание |
|
Вызывается при готовности плеера. |
|
Вызывается при начале воспроизведения: • • • • |
|
Вызывается при продолжении воспроизведния. |
|
Вызывается при постановке плеера на паузу. |
|
Воспроизведение окончено. |
|
Событие ошибки: • |
|
Вызывается при изменении длительности видео. |
|
Вызывается при изменении громкости звука: • |
|
Вызывается при перемотке: • |
|
Вызывается при показе рекламы. |
|
Вызывается после завершения показа рекламы. |
|
Вызывается по ходу воспроизведения: • |
MiniPlayer
Позволяет фиксировать плеер на экране на заданной позиции.
Управлять MiniPlayer можно с помощью методов:
Метод |
Описание |
|
Фиксирует плеер на экране. Принимает на вход аргументы |
|
Возвращает плеер на изначальную позицию. |
|
Изменяет стили плеера без анимаций. С помощью этого метода можно изменить только Метод используется для того, чтобы можно было изменить стили плеера, когда он находится в состоянии |
API ленты видеоконтента
Лента видеоконтента позволяет проигрывать несколько роликов один за другим по кругу.
{
containerId: {string},
contentIds: {string[]},
parameters: {array}
}
containerId
ID контейнера, в который будет встроен плеер.
contentIds
Массив идентификаторов контента в системе VH.
parameters
Объект с параметрами встраивания и воспроизведения.
Пример:
var player = Yandex.VH.createPlayList(
'player-container',
[
'41f3acdf3ef012229db83b8e8b810c28',
'4af27aa3b15e1f41ab4b0c8933f44d72',
'46f1793076bb2847b3992bf478bad82f',
'4a2d0ec3d6dd94719ae4122eddfc5961',
'4f86d7fb5a3c0855b30c0519b71ec8d2'
],
{
width: 600,
height: 360,
params: {
autoplay: 1,
tv: 0,
loop: 0,
preload: 0,
meta: 'always'
}
}
);
Рекомендации по встраиванию
Минимальный размер плеера
Требования по минимальному размеру плеера указаны в п. 4.3.2 Правил участия в Рекламной сети Яндекса.
Для соблюдения этих требований на мобильных устройствах можно фиксировать контейнер в области видимости на меленьких экранах через CSS media-queries.
Пример:
#player-container {
position: fixed;
bottom: 30px;
right: 50px;
width: 320px;
height: 180px;
background: #939cb0;
}
@media (max-width: 360px) {
#player-container {
bottom: 0;
right: 0;
height: 180px;
width: 100%;
}
}
positionConfig
Задает положение плеера на странице.
positionConfig = {
bottom?: number,
top?: number,
right?: number,
left?: number
}
bottom
Нижняя позиция вынесенного плеера относительно нижней границы окна браузера в px. Имеет преимущество перед параметром top
.
top
Верхняя позиция вынесенного плеера относительно верхней границы окна браузера в px.
right
Правая позиция вынесенного плеера относительно правой границы окна браузера в px. Имеет преимущество перед параметром left
.
left
Левая позиция вынесенного плеера относительно левой границы окна браузера в px.
sizeConfig
Задает размеры плеера.
sizeConfig = {
width?: number,
height?: number
}
width
Ширина вынесенного плеера в px.
height
Высота вынесенного плеера в px.
Поддержка AMP-страниц
Плеер Яндекса на базовом уровне поддерживает AMP-страницы c помощью тега <amp-video-iframe>
.
Примечание
Методы, события и некоторые особенности VH Public API не работают для плеера в режиме amp. При этом поддержа adFox сохраняется.
Чтобы включить поддержку AMP-страниц:
• Задайте параметры paramsObject.amp = true
• Укажите параметры paramsObject.width
и paramsObject.height
• Подключите на страницу скрипт для работы <amp-video-iframe>
<script async custom-element="amp-
video-iframe" src="https://cdn.ampproject.org/v0/amp-video-iframe-0.1.js"></script>
Пример:
var player = new Yandex.VH.Player('player1', {
contentId: '14900627828921839597',
width: 1200,
height: 620,
amp: true
});
Чем режим поддержки AMP-страниц отличается от обычнного режима
Для поддержки AMP-страниц используется специальная песочница amp-vh-player, которая:
• реализует интеграционный скрипт;
• защищает плеер Яндекса от сторонних скриптов.
VH Public API в режиме поддержки AMP-страниц представляет следующую структуру: