Дополнительные опции позволяют изменить внешний вид и поведение приложения, и задаются в файле конфигурации /etc/microimpuls/portal/client.js.
Для интерфейса titanium доступны следующие опции.
Авторизация
При первом запуске приложения абоненту по умолчанию показывается экран авторизации в сервисе по логину и паролю. Опционально авторизоваться также можно другими способами:
- по номеру телефона;
- по идентификатору устройства/IP-адресу.
Управление выбором способа авторизация происходит в нескольких местах, в порядке повышения приоритета:
- в файле
client.jsзадаётся опциейauth_mode; - в админке на странице «Настройки приложений и устройств», в поле «Способ авторизации».
Авторизация по идентификатору устройства/IP-адресу
Включается опцией "auth_mode": "device_uid". С точки зрения пользователя данная авторизация происходит в фоновом режиме при запуске приложения:
- сначала происходит поиск нужного аккаунта по IP-адресу пользователя (на основании поля «Подсети» у аккаунта);
- если по IP не найдено ни одного аккаунта, происходит попытка найти аккаунт по идентификатору устройства (на основании привязанных к аккаунту устройств);
- после успешного поиска происходит проверка на доступность авторизации из сети пользователя, на соблюдение лимита привязанных устройств, статус и прочие правила, заданные для аккаунта (см. страницу аккаунта).
Доступные лимиты устройств для аккаунта регламентируются подключенными тарифами, а именно свойствами «Настройки мультиабонемента» у подключенных тарифов. Для удобства вычисления доступных устройств и сессий для аккаунта на его странице в блоке «Информация об аккаунте» выводятся его лимиты и количество текущих занятых слотов.
В качестве идентификатора для разных типов устройств могут использоваться разные поля: серийные номера, MAC-адреса, псевдо-случайные сгенерированые UID и т.д. В связи с разношёрстностью парка android-устройств существует опция
android_uid_generation_method, позволяющая выбрать, какое из полей использовать в качестве идентификатора.
При превышении количества привязанных устройств пользователю показывается их список с возможностью отвязать ненужное и попробовать авторизоваться ещё раз.
Полезные опции Smarty по теме авторизации:
TVWM_MULTILOGIN_CREATE_DEVICETVMW_REMOVE_DUPLICATE_UID_ON_LOGINTVWM_REBIND_DEVICE_ON_LOGINTVMW_UPDATE_IP_IN_REALTIMETVMW_CHECK_STATUS_REASON_ON_LOGINTVMW_LOGIN_REQUEST_MAX_COUNT
Регистрация
Для сценария регистрации по номеру телефона пользователя через приложение, предусмотрена опция registration_available.

Пример:
var CLIENT_SETTINGS = {
// …
'registration_available': true,
};
Главный экран
В интерфейсе доступны следующие типы лент дашборда:
Телеканалы
Отображаются в сеткой из двух строк по 9 элементов.

Фильмы и Подборка фильмов
Для ленты с фильмами можно задать используемый постер в поле «Тип отображения»:
normal_ad_banner— использовать в качестве обложки горизонтальный рекламный баннер- пустая строка — значение по умолчанию, используется стандартный вертикальный постер
Недавно просмотренные фильмы
Отображается лента «Продолжить просмотр» с фильмами и сериалами, которые начали смотреть, но не досмотрели до конца. Сериал считается досмотренным, если просмотрели все серии всех сезонов.
Виджеты
Лента работает в двух режимах:
- отображение приложений, заведенных в Smarty — данный режим включается по опции
"show_installed_apps": false. Приложения появятся в ленте в том случае, если у них выставлен чекбокс «Показывать приложение в главном меню» и тип соответствует одному из перечисленных: Web-приложение во внешнем окне, Web-приложение во внутреннем окне, запуск приложения Android по ID, запуск системного приложения по ID. - отображение установленных на приставку приложений (только для Android-устройств).

Передачи
Лента с передачами: прошедшими или будущими. При клике на прошедшую передачу открывается полноэкранный плеер с её записью при наличии, в противном случае показывается информационное попап-окно.
Главное меню
Пункты главного меню регулируются опцией custom_main_menu_items, доступные значения:
- main — пункт «Главная»
- tv — пункт «Телеканалы»
- vod — пункт «Кинозал»
- archive — пункт «Архив»
- search — пункт «Поиск»
- settings — пункт «Настройки»
Пример:
var CLIENT_SETTINGS = {
// …
'custom_main_menu_items': ['main', 'tv', 'vod', 'search', 'settings'],
};
Поиск
В экране поиска до ввода поисковой строки отображается экранная клавиатура, а также опционально можно отображать рекомендуемую подборку для абонента с помощью опции search_recommended_selection_id, в которую указывается идентификатор подборки фильмов из Smarty.

Пример:
var CLIENT_SETTINGS = {
// …
'search_recommended_selection_id': 123,
};
Автоматическая отправка запроса на поиск начинается с ввода 3 символа, поиск происходит по каналам, передачам, фильмам и актёрам.


Личный кабинет
Тарифы
Пункт «Тарифы» включается опцией портала show_packages, пример:
var CLIENT_SETTINGS = {
// …
'show_packages': true,
};
Карточка тарифа кастомизируется следующими средствами на странице тарифа в админке Smarty:
- поле «Иконка для STB и Smart TV» используется в качестве лейблов
- поля
bg_first_colorиbg_second_colorиспользуются для установки цветов для градиента на фоне, пример:

- также в карточке используются поля «Название», «Описание», «Стоимость» и «Стоимость активации».


Уведомления
Пункт «Тарифы» включается опцией портала show_messages_menu, пример:
var CLIENT_SETTINGS = {
// …
'show_messages_menu': true,
};
В этот экран попадают сообщения, отправленные абоненту с помощью инструмента «Сообщения и команды» в админке Smarty (также отправку сообщений можно автоматизировать через Billing API-методы). Сообщения с флагом «Срочное» также показываются в данном разделе, с той разницей, что предварительно они будут показаны в попап-окне поверх интерфейса.


Выход из аккаунта
Пункт «Выйти из аккаунта» можно показать с помощью опции show_logout_option, пример:
var CLIENT_SETTINGS = {
// …
'show_logout_option': true,
};
По умолчанию пункт скрыт — данное поведение актуально для режима авторизации по IP-адресу/идентификатору устройства — в этом случае абонент не может самостоятельно разлогиниться на текущем устройстве.