1. Домой
  2. Документы
  3. Smarty
  4. Настройки порталов и приложений
  5. Опции портала

Опции портала

Дополнительные опции позволяют изменить внешний вид и поведение приложения, и задаются в файле конфигурации /etc/microimpuls/portal/client.js.

Содержание показать

Обязательные опции

Client ID

Название опции: client_id, тип данных: int.

В этой опции указывается ID оператора в Smarty (Client ID) и используется в запросах к API.

Пример:

var CLIENT_SETTINGS = {
  // …
  'client_id': 1
};

API Key

Название опции: api_key, тип данных: string.

В этой опции указывается API Key (именно TVMW API Key, не путать с Billing API Key) оператора в Smarty для данного Client ID. Используется в запросах к API.

Пример:

var CLIENT_SETTINGS = {
  // …
  'api_key': 'dmt6rH0qbDeGacPnUDDkVb8jafcqewKl'
};

API URL

Название опции: api_url, тип данных: string.

Адрес сервера Smarty. Для обхода политики CORS (если в настройках веб-сервера Smarty не указаны разрешающие заголовки) адрес сервера может быть задан относительно домена портала, по которому он был загружен, например, /api, если в настройках веб-сервера определен соответствующий location, перенаправляющий запросы к Smarty.

Пример:

var CLIENT_SETTINGS = {
  // …
  'api_url': '/api'
};

Используемый интерфейс (шаблон) портала по умолчанию

Название опции: template_name, тип данных: string.

Название шаблона, используемого по умолчанию. Список доступных шаблонов можно посмотреть в папке портала templates. Данное значение может быть переопределено в настройках устройства в Smarty, а также в настройках аккаунта.

Пример:

var CLIENT_SETTINGS = {
  // …
  'template_name': 'futuristic'
};

Размеры экрана интерфейсов

Название опции: template_size, тип данных: array.

Список доступных разрешений шаблонов. Необходимо указывать каждое отдельно сверстанное разрешение в том случае, если для шаблона есть соотвутствующий стиль в указанном разрешении. Например, шаблон classic имеет отдельную верстку для разрешений 1280х720 и 720х576. Для других шаблонов используется автоматический скейлинг, поэтому достаточно указать только стандартное разрешение 1280х720. Для некоторых устройств Samsung Tizen TV, LG Smart TV и Android TV указание этой опции является обязательным, иначе интерфейс может отображаться с неправильным масштабом.

Пример:

var CLIENT_SETTINGS = {
    // …
    'template_size': {
        'default': {
            'default': [1280, 720]
        },
        'futuristic': {
            'default': [1280, 720]
        },
        'impuls': {
            'default': [1280, 720]
        },
        'infinitly': {
            'default': [1280, 720]
        },
        'classic': {
            'default': [1280, 720],
            '720x576': [720, 576]
        },
        'iridium': {
            'default': [1280, 720]
        },
        'focus': {
            'default': [1280, 720]
        }
};

Список разрешенных интерфейсов

Название опции: available_templates, тип данных: array.

Устанавливает список доступных шаблонов для переопределения с сервера. Шаблон, указанный в обязательном параметре template_name, в список доступных шаблонов добавлять не обязательно. При попытке сервера определить для устройства и/или аккаунта шаблон, отсутствующий в данном списке, приложение это проигнорирует. По умолчанию [].

Пример:

var CLIENT_SETTINGS = {
  // …
  'available_templates': ['impuls', 'futuristic', 'infinitly']
};

Имя файла настроек

Название опции: settings_filename, тип данных: string.

Имя файла для сохранения локальных настроек на устройстве. Необходимо указывать уникальное имя (например, совпадающее с именем провайдера в транслите), т.к. в этом файле сохраняются в том числе логин и пароль аккаунта. Если для уже работающего сервиса в процессе эксплуатации (или переезда на другой сервер) поменять это имя, то при следующем включении устройства у абонентов произойдет логаут. Значение по умолчанию example.dat.

Пример:

var CLIENT_SETTINGS = {
  // …
  'settings_filename': 'mytelecom.dat'
};

Дополнительные опции

Адрес сайта оператора

Название опции: site_url, тип данных: string.

Используется в служебных сообщениях портала для абонента, связанных с информированием о технических неполадках и вопросами получения дополнительной информации, а также в некоторых шаблонах отображается в блоке контактной информации. Значение по умолчанию www.example.com.

Пример:

var CLIENT_SETTINGS = {
  // …
  'site_url': 'http://mytelecom.com'
};

Периодичность запросов сохранения телесмотрения

Название опции: push_stat_interval, тип данных: int.

Периодичность выполнения запросов к серверу Smarty для сохранения данных о телесмотрении, задается в миллисекундах. Не стоит использовать слишком маленькое значение, однако чем меньше это значение, тем точнее будут данные о сессиях просмотра и рейтинга контента. Значение по умолчанию 300000 (5 минут).

Пример:

var CLIENT_SETTINGS = {
  // …
  'push_stat_interval': 300000
};

Периодичность запросов сохранения позиции просмотра

Название опции: content_position_set_interval, тип данных: int.

Периодичность выполнения запросов к серверу Smarty для сохранения текущей позиции просмотра контента PVR и VOD для работы функции возвращения к последней сохраненной позиции просмотра. Задается в миллисекундах. Значение по умолчанию 30000 (30 секунд).

Пример:

var CLIENT_SETTINGS = {
  // …
  'content_position_set_interval': 30000
};

Корректировочный часовой сдвиг по умолчанию

Название опции: default_timezone, тип данных: int.

Отображаемое время в портале вычисляется по следующему алгоритму:

  1. С сервера Smarty портал принимает время в UTC+0. Это время используется для всех расчетов и для EPG.
  2. Определяется локальная часовая зона согласно настройкам времени на устройстве.
  3. Определяется корректировочный часовой сдвиг, указанный пользователем в настройках приложения. По умолчанию равен default_timezone.
  4. Ко времени с сервера добавляется локальная часовая зона и корректировочный часовой сдвиг, таким образом рассчитывается локальное отображаемое время.

В качестве значения этой опции необходимо указать значение в диапазоне от 0 (что соответствует сдвигу -12) до 24 (+12). Это значение будет использовано по умолчанию для настройки «Часовой сдвиг», задаваемой пользователям в настройках приложения. По умолчанию 12 (соответствует +0). При корректной работе времени на устройстве и правильных настройках NTP корректировочный сдвиг использовать не нужно, однако с помощью него пользователь может скорректировать время в приложении самостоятельно.

Пример:

var CLIENT_SETTINGS = {
  // …
  'default_timezone': 12
};

Отключение часового пояса устройства

Название опции: ignore_device_timezone, тип данных: bool.

Опция имеет смысл и работает только при заданном значении default_timezone. Если включить обе эти опции, то для отображения времени на устройстве часовой пояс считается как GMT+0 + default_timezone. На само время опции не влияют, так как оно приходит с сервера. Значение опции по умолчанию — false.

Пример:

var CLIENT_SETTINGS = {
  // …
  'ignore_device_timezone': true
};

Размер буфера по умолчанию

Название опции: default_buffersize, тип данных: int.

Значение настройки «Размер буфера» по умолчанию, задаваемой пользователем в настройках приложения. Возможные значения:

  • 0 — автоматически (по умолчанию).
  • 1 — нет буферизации.
  • 2 — малый размер буфера.
  • 3 — средний размер буфера.
  • 4 — большой размер буфера.
  • 5 — очень большой размер буфера.

Пример:

var CLIENT_SETTINGS = {
  // …
  'default_buffersize': 0
};

Язык интерфейса по умолчанию

Название опции: default_lang, тип данных: int.

Значение настройки «Язык интерфейса» по умолчанию, задаваемой пользователем в настройках приложения. Необходимо указать индекс (начиная с 0) языка из списка языков, которые поддерживаются конкретным шаблоном. По умолчанию 0 — первый язык в списке.

Пример:

var CLIENT_SETTINGS = {
  // …
  'default_lang': 0
};

Отключение системного языка устройства

Название опции: ignore_system_lang, тип данных: bool.

Опция позволяет отключить влияние системного языка на язык приложения по умолчанию. На текущий момент системный язык устанавливается для приложения только на телевизорах и STB под OS Android. Значение опции по умолчанию: false.

Пример:

var CLIENT_SETTINGS = {
  // …
  'ignore_system_lang': true,
};

Системная консоль отладки

Название опции: system_debug, тип данных: bool.

Включает показ системной консоли портала, в которой отображается дополнительная служебная информация для отладки.

Возможные значения:

  • true — консоль отображается.
  • false — консоль не отображается (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'system_debug': true
};

Показ служебных сообщений об ошибках

Название опции: user_debug, тип данных: bool.

Включает показ сообщений абоненту о различных служебных ошибках, возникших в ходе работы портала (в том числе, например, ошибки связи с сервером Middleware). В настоящий момент поддерживается только в шаблоных futuristic и infinitly.

Возможные значения:

  • true — ошибки отображаются.
  • false — ошибки не отображаются (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'user_debug': false
};

Режим обработки кнопки выключения приставки

Название опции: handle_key_power_by_device, тип данных: bool.

Флаг для выбора обработки кнопки выключения приставки. Поддерживается только на приставках WRT.

Возможные значения:

  • true — обработка на уровне приставки.
  • false — обработка на уровне портала (по умолчанию).
var CLIENT_SETTINGS = {
  // …
  'handle_key_power_by_device': false
};

Идентификация устройства по модели

Название опции: send_device_model_in_request_parameters, тип данных: bool.

Возможные значения:

  • true — на сервер Middleware в качестве параметра device будет отправляться тип устройства и модель, соединенные нижним подчеркиванием, например: android_stb_redbox (по умолчанию).
  • false — будет отправляться только тип устройства, например android_stb.

При значении true если серверу не удалось идентифицировать устройство, то происходит повторная попытка в режиме false.

Пример:

var CLIENT_SETTINGS = {
  // …
  'send_device_model_in_request_parameters': true
};

Нумерация каналов, начиная с 0

Название опции: begin_channel_numbers_from_zero, тип данных: bool.

  • true — номера каналов начинаются с 0.
  • false — номера каналов начинаются с 1 (по умолчанию).

Пример:

var CLIENT_SETTINGS = {
  // …
  'begin_channel_numbers_from_zero': false
};

Адрес интро-ролика TVZavr

Название опции: tvzavr_intro_url, тип данных: string.

URL до интро-файла для онлайн-кинотеатра tvzavr. По умолчанию не задано. URL должен быть доступен для плеера устройства. При интеграции tvzavr по условиям кинотеатра отображение интро-ролика перед показом фильма является обязательным, поэтому даже при пустом значении в портале будет показан ролик, размещенный в папке /media/video/tvzavr_intro.mp4.

Пример:

var CLIENT_SETTINGS = {
  // …
  'tvzavr_intro_url': ''
};

Solution для плеера MAG по умолчанию

Название опции: default_player_solution_for_mag, тип данных: string.

Для приставки MAG устанавливает тип soluton, который будет использоваться в случае, если формат потока не удалось определить. Значением должен быть тип формата контента (см. список http://soft.infomir.com/stbapi/JS/v343/tutorial-media-formats.html). По умолчанию auto.

Пример:

var CLIENT_SETTINGS = {
  // …
  'default_player_solution_for_mag': 'ffrt2'
};

Таймаут ожидания ответа от сервера Middleware

Название опции: requests_timeout_time, тип данных: int.

Устанавливает для HTTP-запросов время ожидания ответа от сервера, после которого запрос будет прерван со стороны клиента. Задается в миллисекундах. По умолчанию 10000. Значение может быть увеличено при нестабильной работе сети связи между пользователем и сервером. Например, если какие-то данные в интерфейсе не загружаются в течение 10 секунд, то стоит попробовать увеличить этот параметр (и, конечно, постараться сначала устранить сетевые проблемы).

Пример:

var CLIENT_SETTINGS = {
  // …
  'requests_timeout_time': 10000
};

Метод генерации UID на Android STB и Android TV

Название опции: android_uid_generation_method, тип данных string.

Поле, позволяющее переопределить метод генерации UID для устройств под OS Android.

Возможные значения:

  • default — используется стандарный метод генерации (по умолчанию).
  • mac — в качестве UID всегда возвращается MAC-адрес.
  • serial — в качестве UID всегда возвращается серийный номер.
  • mac_serial — в качестве UID всегда возвращается комбинация MAC-адреса и серийного номера, разделенных нижним подчеркиванием.

Пример:

var CLIENT_SETTINGS = {
  // …
  'android_uid_generation_method': 'default'
};