Дополнительные опции позволяют изменить внешний вид и поведение приложения, и задаются в файле конфигурации /etc/microimpuls/portal/client.js
.
Для интерфейса infinitly доступны следующие опции.
Логика работы
Режим авторизации
Название опции: auth_mode
, тип данных: string.
Возможные значения:
- password — по логину и паролю (по умолчанию).
- device_uid — по уникальному идентификатору устройства (обычно MAC-адресу) или по IP-адресу. В случае неуспешной авторизации абоненту будет предложена авторизация по логину и паролю.
- device_uid_wo_fallback — то же самое, что device_uid, но без обработки некоторых ситуаций неуспешной авторизации и перехода на авторизацию по логину и паролю.
Пример:
var CLIENT_SETTINGS = { // … 'auth_mode': 'password' };
Возможность ввода символов в пароле
Название опции: is_letters_in_password
, тип данных: bool.
Возможные значения:
- true — в пароле можно вводить цифры и буквы.
- false — в пароле можно вводить только цифры (по умолчанию).
Пример:
var CLIENT_SETTINGS = { // … 'is_letters_in_password': false };
Возможность регистрации через SMS
Название опции: registration_available
, тип данных: bool.
Возможные значения:
- true — кнопка регистрации через SMS отображается.
- false — не отображается (по умолчанию).
Для возможности регистрации через SMS требуется корректная настройка интеграции с SMS-шлюзом на стороне сервера Smarty.
Пример:
var CLIENT_SETTINGS = { // … 'registration_available': false };
Режим регистрации
Название опции: registration_mode
, тип данных: string
.
Возможные значения:
- phone — регистрация по номеру телефона (по умолчанию).
- phone_and_password — регистрация по номеру телефона и паролю.
Пример:
var CLIENT_SETTINGS = { // … 'registration_mode': 'phone_and_password' };
Маска номера мобильного телефона в экране регистрации
Название опции: registration_phone_mask
, тип данных: string.
По умолчанию +7 ??? ??? ?? ??.
В маске используется специальный символ ?, вместо которого будет подставляться вводимое значение, остальные символы будут отображены как есть.
Пример:
var CLIENT_SETTINGS = { // … 'registration_phone_mask': "+7 ??? ??? ?? ??" };
Отображение кнопки и возможность смены аккаунта
Название опции: show_logout_option
, тип данных: bool.
Возможные значения:
- true — в экране «Мой профиль» при нажатии желтой кнопки пользователь сможет выйти из своего аккаунта и войти под другим аккаунтом.
- false — возможность логаута будет недоступна (по умолчанию).
Пример:
var CLIENT_SETTINGS = { // … 'show_logout_option': false };
Сохранение логина и пароля в полях ввода на экране авторизации при перезапуске приложения
Название опции: restore_login_form_inputs_from_settings
, тип данных: bool.
Возможные значения:
- true — при перезапуске приложения и в случае логаута в полях ввода на экране авторизации будут заполнены логин и пароль с предыдущей сессии.
- false — данные заполнены не будут (по умолчанию).
Рекомендуется использовать эту опцию при методе авторизации password для избежания потери пароля абонентами после логаута.
Пример:
var CLIENT_SETTINGS = { // … 'restore_login_form_inputs_from_settings': false };
Перезагрузка устройства после первой активации
Название опции: reboot_device_after_login_with_password
, тип данных: bool.
Возможные значения:
- true — после авторизации абонента логином и паролем через форму авторизации произойдет перезагрузка устройства.
- false — перезагрузка производиться не будет, приложение будет загружено как обычно (по умолчанию).
Может быть использовано для выполнения системных операций биллинга при первичной «активации» приставки абонентом.
Пример:
var CLIENT_SETTINGS = { // … 'reboot_device_after_login_with_password': false };
Отключение кнопки SET на приставках MAG
Название опции: disable_set_button_on_mag
, тип данных: bool.
Возможные значения:
- true — кнопка SET (Setup) на пульте приставки MAG будет заблокирована.
- false — кнопка будет работать согласно настройкам в прошивке (по умолчанию).
Пример:
var CLIENT_SETTINGS = { // … 'disable_set_button_on_mag': false };
Выбор используемого интерфейса приложения через настройки аккаунта в Smarty
Название опции: check_account_template
, тип данных: bool.
Возможные значения:
- true — после авторизации аккаунта будет осуществляться проверка шаблона, установленного в настройках аккаунта в Smarty, и если он отличается от используемого приложение будет перезагружено в нужном шаблоне (по умолчанию).
- false — установленный шаблон в настройках аккаунта в Smarty будет игнорироваться.
Пример:
var CLIENT_SETTINGS = { // … 'check_account_template': true };
Выбор используемого интерфейса на странице «Настройки»
Название опции: show_change_template_settings
, тип данных: bool.
Возможные значения:
- true — на странице «Настройки» внутри приложения будет отображен пункт «Выбор шаблона». Список шаблонов для выбора будет сформирован из массива, прописанного в опции
available_templates
. - false — пункт «Выбор шаблона» на странице настроек будет скрыт (по умолчанию).
Пример:
var CLIENT_SETTINGS = {
// …
'show_change_template_settings
': true
};
Приостановка запросов к серверу в режиме Stand-By
Название опции: block_requests_in_standby
, тип данных: bool.
Возможные значения:
- true — включает блокировку запросов к серверу, если устройство находится в режиме Stand-By. После выхода из Stand-By отправка запросов к серверу восстанавливается, однако данные в интерфейсе могут быть устаревшими в течение некоторого времени.
- false — запросы не прекращаются даже в Stand-By, отображаемые в интерфейсе данные не устаревают (по умолчанию).
Опция позволяет сэкономить ресурсы сервера в моменты простоя пользовательских устройств.
Пример:
var CLIENT_SETTINGS = { // … 'block_requests_in_standby': false };
Использование системной клавиатуры устройства для ввода
Название опции: use_system_keyboard
, тип данных: bool.
Возможные значения:
- true — включает использование системной клавиатуры устройства для ввода значений вместо встроенной клавиатуры приложения.
- false — для ввода значений используется встроенная клавиатура приложения (по умолчанию).
Опция работает только для устройств с поддержкой вызова системной клавиатуры.
Пример:
var CLIENT_SETTINGS = { // … 'use_system_keyboard': true };
Логика управления
Режим совместимости с гайдлайнами Smart TV платформ
Название опции: samsung_guidelines_compatibility_mode
, тип данных: bool.
Возможные значения:
- true — включить режим совместимости с рекомендациями Smart TV платформ.
- false — отключить (по умолчанию).
Режим совместимости влияет на логику поведения портала, в том числе на назначение кнопок пульта, и необходим для включения некоторых специальных ограничений для более простой публикации в магазины приложений Samsung и LG.
Пример:
var CLIENT_SETTINGS = { // … 'samsung_guidelines_compatibility_mode': false };
Переключение каналов внутри выбранной категории
Название опции: switching_channels_inside_category
, тип данных: bool.
Возможные значения:
- true — переключение каналов кнопками Ch+/- будет происходить внутри выбранной категории каналов.
- false — переключение будет происходить внутри категории «Все», даже если выбрана другая категория (по умолчанию).
Пример:
var CLIENT_SETTINGS = { // … 'switching_channels_inside_category': false };
Воспроизведение контента
Шаг перемотки плеера
Название опции: player_rewind_step
, тип данных: int.
Позволяет установить шаг перемотки плеера в режиме архива и видеотеки за одно нажатие кнопки перемотки. Шаг задается в секундах, по умолчанию 30.
Пример:
var CLIENT_SETTINGS = { // … 'player_rewind_step': 30 };
Шаг увеличения/уменьшения громкости
Название опции: volume_control_step
, тип данных: int.
По умолчанию 5 (процентных пунктов из 100, где 100 — максимальная громкость, 0 — минимальная).
Пример:
var CLIENT_SETTINGS = { // … 'volume_control_step': 5 };
Сохранение выбранного соотношения сторон для каждого канала отдельно
Название опции: save_aspect_ratio_per_channel
, тип данных: bool.
Возможные значения:
- true — в настройках приложения на устройстве выбранное пользователем соотношение сторон будет сохраняться отдельно для каждого канала.
- false — будет сохраняться последнее выбранное соотношение сторон общее для всех каналов (по умолчанию).
Пример:
var CLIENT_SETTINGS = { // … 'save_aspect_ratio_per_channel': false };
Сохранение выбранного языка аудио-дорожки для каждого канала отдельно
Название опции: save_audio_track_lang_per_channel
, тип данных: bool.
Возможные значения:
- true — в настройках приложения на устройстве выбранный пользователем язык аудио-дорожки будет сохраняться отдельно для каждого канала.
- false — будет сохраняться последний выбранный язык общий для всех каналов (по умолчанию).
Пример:
var CLIENT_SETTINGS = { // … 'save_audio_track_lang_per_channel': false };
Автоматическое скрытие меню при воспроизведении контента
Название опции: autohide_timer
, тип данных: int.
Позволяет задать тайм-аут (в минутах), по истечению которого должен быть текущий экран будет скрыт и открыт полноэкранный плеер, если в настоящий момент есть воспроизведение какого-то контента.
По умолчанию 0 (скрытие отключено).
Пример:
var CLIENT_SETTINGS = { // … 'autohide_timer': 2 };
Настройка UDP Proxy на устройствах Android
Название опции: show_udp_proxy_settings
, тип данных: bool.
Возможные значения:
- true — в меню настроек будет отображаться пункт «UDP Proxy», с помощью которого можно настроить оборачивание Multicast-ссылок через UDP Proxy.
- false — пункт будет скрыт (по умолчанию).
Пример:
var CLIENT_SETTINGS = { // … 'show_udp_proxy_settings': false };
Установка особого соотношения сторон экрана при воспроизведении фильмов
Название опции: set_default_aspect_ratio_for_vod
, тип данных: bool.
Возможные значения:
- true — после включения воспроизведения фильма из видеотеки будет принудительно установлено соотношение сторон 16×9.
- false — будет сохранено соотношение сторон, выбранное ранее абонентом (по умолчанию).
Пример:
var CLIENT_SETTINGS = { // … 'set_default_aspect_ratio_for_vod': false };
Внешний вид — общие
Дополнительный CSS класс для тела интерфейса
Название опции: custom_body_class
, тип данных: string.
Позволяет подключить дополнительный класс к тегу body портала. Может быть использовано для кастомизации интерфейса через дополнительный CSS-файл.
По умолчанию не задано.
Пример:
var CLIENT_SETTINGS = { // … 'custom_body_class': "custom" };
Внешний вид — ТВ
Глубина отображения телепрограммы
Название опции: max_epg_depth
, тип данных: int.
Определяет глубину EPG в днях для экрана «Телепрограмма». Если значение опции больше 0, то глубина будет равна этому значению. Если опция не задана (или равна 0), то для канала с архивом будет использована глубина архива (поле max_archive_duration
канала), а если у канала нет архива — программа передач будет отображаться только за текущий день.
По умолчанию 0.
Пример:
var CLIENT_SETTINGS = { // … 'max_epg_depth': 0 };
Отображение категории «Избранное» для телеканалов
Название опции: tv_show_favorites
, тип данных: bool.
Возможные значения:
- true — в списке каналов будет отображаться категория «Избранное» и пользователю доступна возможность добавлять каналы в избранное.
- false — функция будет отключена (по умолчанию).
Пример:
var CLIENT_SETTINGS = { // … 'tv_show_favorites': false };
Внешний вид — видеотека
Отображение категории «Новинки» в видеотеке
Название опции: vod_show_news
, тип данных: bool.
Возможные значения:
- true — отображать категорию «Новинки» (по умолчанию).
- false — не отображать.
Пример:
var CLIENT_SETTINGS = { // … 'vod_show_news': false };
Отображение категории «Пакеты фильмов» в видеотеке
Название опции: vod_show_packages
, тип данных: bool.
Возможные значения:
- true — в списке категорий в видеотеке будет показана категория «Пакеты фильмов» с пакетами фильмов, настроенными в Smarty как пакеты (по умолчанию).
- false — категория будет скрыта.
Пример:
var CLIENT_SETTINGS = { // … 'vod_show_packages': true };
Отображение категории «Купленное» в видеотеке
Название опции: vod_show_purchased
, тип данных: bool.
Возможные значения:
- true — в списке категорий в видеотеке будет показана категория «Купленное», содержащая купленные фильмы (в рамках аренды или подписки).
- false — категория будет скрыта (по умолчанию).
Пример:
var CLIENT_SETTINGS = { // … 'vod_show_purchased': false };
Отображение категории «Просмотренное» в видеотеке
Название опции: vod_show_viewed
, тип данных: bool.
Возможные значения:
- true — в списке категорий в видеотеке будет показана категория «Просмотренное», содержащая просмотренные и недосмотренные фильмы.
- false — категория будет скрыта (по умолчанию).
Пример:
var CLIENT_SETTINGS = { // … 'vod_show_viewed': false };
Отображение категории «Избранное» в видеотеке
Название опции: vod_show_favorited
, тип данных: bool.
Возможные значения:
- true — в списке категорий в видеотеке будет показана категория «Избранное» и пользователю доступна возможность добавлять фильмы в избранное.
- false — функция будет отключена (по умолчанию).
Пример:
var CLIENT_SETTINGS = { // … 'vod_show_favorited': false };
Группировка фильмов по категориям или по жанрам
Название опции: filter_videos_by_genres
, тип данных: bool.
Возможные значения:
- true — фильмы будут группироваться по жанрам (по умолчанию).
- false — фильмы будут группироваться по категориям (жанры в Smarty с включенной опцией «Является категорией»).
Пример:
var CLIENT_SETTINGS = { // … 'filter_videos_by_genres': true };
Отображение пункта «Войти на сеанс»
Название опции: show_seances
, тип данных: bool.
Возможные значения:
- true — будет показан пункт «Войти на сеанс» внутри раздела «Мой профиль».
- false — пункт входа на сеанс показан не будет (по умолчанию).
Сеанс — усеченный вариант просмотра фильма, доступный абоненту в определенное время после ввода билета. Плеер в режиме сеанса лишен возможности перемотки или постановки на паузу (имитация реального сеанса в кинотеатре).
Пример:
var CLIENT_SETTINGS = {
// …
'show_seances
': true
};
Способ сортировки фильмов по умолчанию
Название опции: default_vod_sort_order
, тип данных: string.
Возможные значения:
- -created_at — по дате добавления (сначала самые новые) (по умолчанию).
- -kinopoisk_rating — по рейтингу Кинопоиска (сначала самые популярные).
- -imdb_rating — по рейтингу IMDB (сначала самые популярные).
- -year — по году выхода фильма (сначала самые новые).
- -premiere_date — по дате выхода премьеры фильма (сначала самые новые).
- name — по названию (в алфавитном порядке).
Пример:
var CLIENT_SETTINGS = { // … 'default_vod_sort_order': "-created_at" };