Smart Displays и опубликованные приложения

На этой странице

Smart Display — это экран, показывающий приложение, которое размещает ваш ИИ-агент. Поскольку приложение работает на агенте, он может менять то, что показывает экран, по мере изменений вокруг него: наплыв посетителей у стойки в обед, посетитель, открывающий входную дверь, заполняющийся вестибюль отеля, переполненная зона ожидания, члены клуба, приходящие ради конкурса посещений. Опишите, что вам нужно, простыми словами. Агент создаст приложение и будет поддерживать его в актуальном состоянии, а вы разместите его на своих экранах, как любой другой контент.

Таблица лидеров спортзала для октябрьского конкурса посещений на экране в альбомной ориентации: члены клуба ранжированы по количеству посещений, а на панели Just arrived показано, какое место занимают три только что отметившихся члена клубаТаблица лидеров спортзала для октябрьского конкурса посещений на экране в альбомной ориентации: члены клуба ранжированы по количеству посещений, а на панели Just arrived показано, какое место занимают три только что отметившихся члена клуба

Рисунок 1. Smart Display в тренажерном зале. Агент каждые несколько минут пересчитывает отметки о посещении и показывает только что пришедшим членам клуба, какое место они занимают. Клуб и его члены вымышлены.

Вы сохраняете контроль: каждое приложение находится в вашей Library, где его можно просмотреть, увидеть, где оно используется, а также изменить или удалить.

Умные дисплеи

Smart Display использует Agent: Published App — веб-приложение, созданное вашим ИИ-агентом и работающее в реальном времени на устройстве ИИ-агента вашего объекта. Экраны показывают приложение в реальном времени, поэтому, когда агент меняет его содержимое, меняется и экран. Ничего не нужно публиковать повторно.

Агент поддерживает приложение в актуальном состоянии одним из двух способов:

  • По расписанию. Автоматизация запускается каждые несколько минут в нужные часы. Через подключение к Performance Hub агент считывает необходимые данные, например отметки о посещении, события дверей или подсчеты камер, и обновляет приложение. Каждый запуск расходует средства на ИИ, поэтому выполняйте проверки не чаще, чем нужно.
  • При наступлении события. Событие на вашей площадке, например открытие входной двери пропуском посетителя, побуждает агента обновить приложение. Экран меняется вскоре после события, а в промежутках агент не выполняет никакой работы. См. приветствие в вестибюле офиса.

Smart Display может использовать только те данные, которые может считать агент. Его доступ MCP должен включать объект и возможности, необходимые приложению, например Door & Gate Access для событий дверей или видеонаблюдение для отметок о посещении и подсчетов камер. См. Подключение к Performance Hub.

Два способа доставки приложения на экраны

Agent: Published App (Smart Display)On-Device Web App
Кто создаетВаш ИИ-агентВы, разработчик или любой ИИ-агент, подключенный через MCP
Где работаетНа устройстве вашего ИИ-агента, показывается на экранах в реальном времениНа каждом экране (экраны скачивают его)
Постоянная адаптацияДа: агент меняет его по мере изменений на вашей площадкеНет: воспроизводит одни и те же файлы, пока не будет опубликована новая версия
Данные вашего объектаДа, всё, что может считать агентНет: только общедоступные данные, например погода
Если пропадает интернет или агентПропускается, пока агент не вернетсяПродолжает воспроизводиться
Версии и откатУправляются агентомДа, в Library
Необходимые модулиDisplay Screens, ИИ-агент и Custom AppsDisplay Screens

Ваш агент может создать для вас и On-Device Web App, но после публикации такое приложение не может адаптироваться. Оно воспроизводит одни и те же файлы на каждом экране, пока кто-нибудь не опубликует новую версию, и не может использовать данные вашего объекта. Меняться в зависимости от происходящего вокруг экрана может только Agent: Published App.

Выбирайте Smart Display, когда экран должен реагировать на происходящее на площадке: кто пришел, насколько людно или что только что произошло. Выбирайте On-Device Web App для контента, который не меняется или использует только общедоступные данные и должен воспроизводиться без подключения к сети.

Примеры Smart Display

Каждый пример ниже — это реальная конфигурация: на что реагирует экран, что он показывает, как агент поддерживает его в актуальном состоянии и что для этого нужно. Компании и люди вымышлены.

Таблица лидеров конкурса посещений, которая приветствует членов клуба при их появлении

Коворкинг, библиотека кампуса или спортзал проводит конкурс посещений в течение месяца. Агент размещает на экранах, мимо которых проходят участники, таблицу лидеров, где они ранжированы по количеству посещений за этот месяц, и приветствует участников конкурса, когда они оказываются рядом с экраном. На рисунках спортзал проводит октябрьский конкурс посещений на экранах в тренажерном зале.

  • Реагирует на: то, кто находится рядом с экраном. Агент узнает об этом с помощью распознавания лиц в Performance Hub, по недавним отметкам о посещении или обоими способами, в зависимости от настроек вашей площадки. Каждый участник конкурса рядом с экраном получает метку Just in и карточку с его местом в рейтинге. На рисунках спортзал использует отметки о посещении за последние 30 минут.
  • Показывает: лучших участников по количеству посещений (только имя и первая буква фамилии), количество дней до конца конкурса и приз.
  • Поддерживается в актуальном состоянии: каждые 5 минут в часы работы агент пересчитывает отметки о посещении за этот месяц с помощью insights_checkins, проверяет, кто находится рядом с экраном, и обновляет приложение.
  • Что нужно: видеонаблюдение с AI Insights & People и распознаванием лиц на камерах рядом с экраном, отметки о посещении из вашей системы управления членством или и то и другое, а также список участников, давших согласие на участие в конкурсе.

Беседа с ИИ-агентом, в которой запрашивается таблица лидеров конкурса посещений на основе отметок о посещении с выделением только что отметившихся членов клуба, а рядом открыто приложение October Visit ChallengeБеседа с ИИ-агентом, в которой запрашивается таблица лидеров конкурса посещений на основе отметок о посещении с выделением только что отметившихся членов клуба, а рядом открыто приложение October Visit Challenge

Рисунок 2. Попросите ИИ-агента создать таблицу лидеров. Он создаст приложение, откроет его рядом с чатом и будет пересчитывать отметки о посещении каждые 5 минут. Беседа приведена в качестве примера.

Таблица лидеров октябрьского конкурса посещений, скомпонованная для экрана в книжной ориентацииТаблица лидеров октябрьского конкурса посещений, скомпонованная для экрана в книжной ориентации

Рисунок 3. Та же таблица лидеров на экране в книжной ориентации

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

Табло меню ресторана быстрого обслуживания, реагирующее на обеденный наплыв

Ресторан быстрого обслуживания просит агента создать табло меню над стойкой. Оно переключает меню в течение дня, а когда у стойки много людей, перемещает наверх блюда, которые готовятся быстрее всего.

  • Реагирует на: время суток и загруженность стойки: количество людей, подсчитанное камерой над стойкой с начала текущего часа, по сравнению с обычным часом.
  • Показывает: завтрак до 11 am, обед до 3 pm, затем дневное меню. Когда людно — баннер Ready in under 3 minutes с блюдами быстрого приготовления и метку Quick у них в меню.
  • Поддерживается в актуальном состоянии: каждые 5 минут агент проверяет сегодняшние подсчеты камеры в AI Insights & People и обновляет приложение. Цены и время приготовления берутся из файла меню, который вы передаете агенту.
  • Что нужно: видеонаблюдение с AI Insights & People и камера, охватывающая стойку.

Беседа с ИИ-агентом, в которой запрашивается табло меню для стойки, меняющееся в зависимости от времени суток и продвигающее блюда быстрого приготовления, когда у стойки людно, а рядом открыто приложение Counter Menu BoardБеседа с ИИ-агентом, в которой запрашивается табло меню для стойки, меняющееся в зависимости от времени суток и продвигающее блюда быстрого приготовления, когда у стойки людно, а рядом открыто приложение Counter Menu Board

Рисунок 4. Агент создает табло меню и открывает его рядом с чатом. Используются только анонимные подсчеты. Беседа приведена в качестве примера.

Табло с обеденным меню на экране в альбомной ориентации: над меню бургеров, боулов и гарниров баннер Busy right now с тремя блюдами, которые готовятся менее чем за 3 минутыТабло с обеденным меню на экране в альбомной ориентации: над меню бургеров, боулов и гарниров баннер Busy right now с тремя блюдами, которые готовятся менее чем за 3 минуты

Рисунок 5. Результат над стойкой во время обеденного наплыва

Приветствие для каждого посетителя в вестибюле офиса

Офис выдает каждому посетителю пропуск Door & Gate Access на время визита. Когда пропуск посетителя открывает входную дверь, экран в вестибюле приветствует его по имени, показывает принимающего сотрудника, переговорную и маршрут, а через минуту возвращается к обычному приветствию.

  • Реагирует на: открытие входной двери пропуском посетителя.
  • Показывает: «Привет, Priya, рады вас видеть», имя и команду принимающего сотрудника, переговорную и время встречи, а также пошаговый маршрут.
  • Поддерживается в актуальном состоянии: рабочий процесс запускает приветствие, когда пропуск посетителя открывает входную дверь. Агент сопоставляет человека из события двери со списком посетителей на сегодня, который ведет стойка регистрации и передает агенту вместе с принимающим сотрудником, переговорной и маршрутом для каждого посетителя. События дверей не содержат имен, принимающих сотрудников или переговорных, поэтому список нужен всегда.
  • Что нужно: Door & Gate Access и список посетителей на день.

Беседа с ИИ-агентом, в которой запрашивается приветственный экран для вестибюля, приветствующий каждого посетителя, когда его доступ открывает входную дверь, а рядом открыто приложение Lobby Visitor WelcomeБеседа с ИИ-агентом, в которой запрашивается приветственный экран для вестибюля, приветствующий каждого посетителя, когда его доступ открывает входную дверь, а рядом открыто приложение Lobby Visitor Welcome

Рисунок 6. Агент создает приветственный экран и открывает его рядом с чатом. Беседа приведена в качестве примера.

Приветствие в вестибюле на экране в книжной ориентации: посетителя приветствуют по имени и показывают принимающего сотрудника, переговорную и маршрутПриветствие в вестибюле на экране в книжной ориентации: посетителя приветствуют по имени и показывают принимающего сотрудника, переговорную и маршрут

Рисунок 7. Результат на экране в книжной ориентации в вестибюле

Та же конфигурация может приветствовать и вашу команду. Например, она может поздравить сотрудника с днем рождения, когда он приходит в этот день, на основе списка дней рождения людей, давших на это согласие. Дата рождения — это персональные данные: включайте только людей, давших согласие, и показывайте не больше имени.

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

Табло зоны ожидания с текущим временем ожидания

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

  • Реагирует на: примерное количество ожидающих по анонимным подсчетам камеры, охватывающей зону ожидания, и прибытия по отметкам о посещении, если ваша площадка их фиксирует.
  • Показывает: примерное время ожидания и примерное количество ожидающих, часы работы и успокаивающее сообщение, когда людно.
  • Поддерживается в актуальном состоянии: каждые несколько минут агент считывает последние подсчеты и прибытия и рассчитывает время ожидания по указанной вами средней продолжительности одного визита.
  • Что нужно: видеонаблюдение с AI Insights & People и камера, охватывающая зону ожидания.

Пример того, что показывает экран, когда людно:

Около 25 минут

Ожидают около 7 человек

Сегодня утром у нас больше посетителей, чем обычно. Спасибо за терпение: мы пригласим вас, как только будем готовы.

Никогда не показывайте сведения о пациентах или клиентах. Табло показывает только общие цифры и никогда — имена или причины визита.

Табло в вестибюле отеля, меняющееся в течение дня

Отель или заведение показывает гостям, что происходит, в зависимости от времени суток и загруженности вестибюля.

  • Реагирует на: время суток и загруженность вестибюля по анонимным подсчетам камеры в вестибюле.
  • Показывает: днем — информацию о заселении и данные Wi-Fi, вечером — сегодняшние мероприятия и наличие мест в ресторане, утром — время завтрака и напоминания о выезде. Когда в вестибюле людно, первыми показываются информация о заселении и данные Wi-Fi, чтобы прибывающие гости быстро их нашли.
  • Поддерживается в актуальном состоянии: каждые несколько минут агент считывает подсчеты в вестибюле и обновляет приложение. Мероприятия и наличие мест в ресторане берутся из списков или систем, к которым вы предоставили агенту доступ.
  • Что нужно: видеонаблюдение с AI Insights & People для подсчетов в вестибюле. Без видеонаблюдения табло все равно меняется в зависимости от времени суток.

Пример того, что показывает экран в 6 pm:

Сегодня вечером в Demo Harbour Hotel

Джаз в лаунже, с 7 pm до 10 pm

Harbour Grill: свободные столики с 8:30 pm. Бронирование на стойке регистрации.

Завтрак завтра с 6:30 am в Harbour Grill.

Вывески в торговом центре, учитывающие аудиторию

Торговый центр просит агента создать вывески для атриума, которые выбирают акцию в зависимости от возрастного и гендерного состава покупателей рядом с вывесками.

  • Реагирует на: возрастной и гендерный состав покупателей рядом с вывесками за последние 5 минут в виде анонимных агрегированных подсчетов: итоги по возрастным группам (18-24, 25-34, 35-44, 45-54 и 55+) и по полу. Отдельные люди никогда не идентифицируются и не отслеживаются.
  • Показывает: акцию для семей, студентов или пенсионеров либо общую акцию, а также часы и сегодняшние события, и ничего о людях поблизости.
  • Поддерживается в актуальном состоянии: каждые 5 минут агент считывает демографические данные из данных компьютерного зрения объекта в AI Insights & People и обновляет приложение всякий раз, когда нужно сменить акцию.
  • Что нужно: видеонаблюдение с AI Insights & People на объекте.

Беседа с ИИ-агентом, в которой запрашиваются вывески для атриума, каждые 5 минут выбирающие акцию по анонимному возрастному и гендерному составу покупателей рядом с вывесками, а рядом открыто приложение Atrium PromotionsБеседа с ИИ-агентом, в которой запрашиваются вывески для атриума, каждые 5 минут выбирающие акцию по анонимному возрастному и гендерному составу покупателей рядом с вывесками, а рядом открыто приложение Atrium Promotions

Рисунок 8. Агент создает приложение и открывает его рядом с чатом. Используются только анонимные подсчеты, а не данные об отдельных людях. Беседа приведена в качестве примера.

Экран Atrium Promotions в торговом центре с акцией для семей на время школьных каникул, временем и сегодняшними событиямиЭкран Atrium Promotions в торговом центре с акцией для семей на время школьных каникул, временем и сегодняшними событиями

Рисунок 9. Результат на экране в альбомной ориентации. Показывается акция и никогда — сведения о людях поблизости.

Экран Atrium Promotions, скомпонованный для экрана в книжной ориентацииЭкран Atrium Promotions, скомпонованный для экрана в книжной ориентации

Рисунок 10. То же приложение на экране в книжной ориентации

Конфиденциальность. Используйте только агрегированные подсчеты, соблюдайте применимое к вам законодательство о конфиденциальности и сообщайте покупателям, что используются камеры и измерение аудитории.

Инструкции по безопасности во время чрезвычайной ситуации

Любая площадка может переключать свои экраны на инструкции по безопасности во время чрезвычайной ситуации и возвращать обычный режим после ее завершения.

  • Реагирует на: любой триггер, выбранный вашей площадкой, например режим изоляции или эвакуацию, объявленные на вашей площадке, и завершение этого события.
  • Показывает: подготовленные вами для этого события инструкции вместо всего остального на выбранных вами экранах. Когда событие завершается, экраны возвращаются к обычному контенту.
  • Поддерживается в актуальном состоянии: выбранные вами экраны переключаются на ваши инструкции при срабатывании выбранного триггера и переключаются обратно после завершения события. Ваш агент может помочь вам написать инструкции и настроить эту функцию.
  • Что нужно: Display Screens и инструкции, согласованные с ответственным за безопасность на вашей площадке.

Подготовьте инструкции в виде изображения или On-Device Web App, а не Agent: Published App, чтобы они отображались, даже если агент не в сети. Согласуйте, что и на каких экранах показывать, с ответственным за безопасность на вашей площадке и проведите проверку вместе с ним.

Не выводите бесшумные тревоги на общественные экраны. Тревоги Duress бесшумны, поэтому они не должны управлять экранами, которые видят посетители. Перехват по тревоге Duress имеет смысл только на экранах в закрытых зонах, недоступных для посетителей, например в служебном помещении.

Агент: Published Apps

Agent: Published App — это веб-приложение, созданное вашим ИИ-агентом и работающее в реальном времени на устройстве ИИ-агента вашего объекта. Поскольку оно работает на агенте, у него может быть собственная серверная часть и оно может обновляться само. Экраны показывают его с агента в реальном времени.

Создание приложения в беседе

Попросите ИИ-агента создать нужный экран, указав, где он будет находиться и на что должен реагировать. Агент создаст приложение и откроет его рядом с чатом, чтобы вы могли его проверить. Например:

  • «Создай таблицу лидеров для нашего октябрьского конкурса посещений на основе отметок о посещении и обновляй ее каждые несколько минут в часы работы».
  • «Сделай табло меню для стойки, которое переключается с завтрака на обед в 11 am и продвигает блюда быстрого приготовления, когда людно».
  • «Сделай приветственный экран для вестибюля, который приветствует каждого посетителя, когда его пропуск открывает входную дверь».

Экран тренировок в тренажерном зале

Спортзал просит агента создать экран тренировок в книжной ориентации для тренажерного зала. На нем две станции, одна над другой: контрольное упражнение на лыжном тренажере и подъемы корпуса, у каждой своя цель и короткий зацикленный демонстрационный ролик. Между ними большой таймер раундов с целевой интенсивностью в центре.

Беседа с ИИ-агентом, в которой запрашивается экран тренировок в книжной ориентации с двумя станциями и таймером раундов, а рядом открыто приложение Workout Station BoardБеседа с ИИ-агентом, в которой запрашивается экран тренировок в книжной ориентации с двумя станциями и таймером раундов, а рядом открыто приложение Workout Station Board

Рисунок 11. Попросите ИИ-агента создать экран тренировок. Он создаст приложение и откроет его рядом с чатом. Беседа приведена в качестве примера.

Экран тренировок в книжной ориентации с двумя станциями упражнений, демонстрационными видео и большим таймером раундовЭкран тренировок в книжной ориентации с двумя станциями упражнений, демонстрационными видео и большим таймером раундов

Рисунок 12. Результат на экране в книжной ориентации в тренажерном зале

Публикация приложения из ИИ-агента

В разделе ИИ-агент → Published apps выберите Publish to Performance Hub и заполните поля:

ПараметрНазначение
NameДо 60 символов
Icon и DescriptionКак приложение отображается в списке. Описание может содержать до 300 символов.
Support emailК кому обращаться по вопросам о приложении
Health checks & auto-repairВключено по умолчанию. Агент перезапускает или восстанавливает приложение, если оно перестает работать.
Allow on display screensВыключено по умолчанию. Включите, чтобы приложение можно было показывать на экранах. Параметр предупреждает: "Anyone near those screens can see it, so only allow apps without private information."
AudienceКто может пользоваться приложением: Only me (testing), Specific people, This facility (по умолчанию), Selected facilities, Whole brand или Entire organisation. Аудитория не может быть шире вашего собственного доступа, а для аудитории бренда или организации нужен доступ на уровне организации.

На той же вкладке доступны действия Pause и Resume, Edit, Unpublish, Transfer ownership и Show on screens.

Показ на экранах

  1. В Display Screens откройте Library и нажмите Add content → Agent: Published App.
  2. Выберите приложение. Каждое подходящее приложение отображается в списке с изображением и значком Оффлайн, если агент не в сети.
  3. Укажите Name и при необходимости Tags и Show for (seconds), затем нажмите Add to library.
  4. Опубликуйте его на экранах или добавьте в плейлист.

Диалоговое окно Add an Agent: Published App с выбранной таблицей лидеров October Visit ChallengeДиалоговое окно Add an Agent: Published App с выбранной таблицей лидеров October Visit Challenge

Рисунок 13. Добавление Agent: Published App в Library. Выберите приложение, укажите название и нажмите Add to library. Изображения приложений, не относящихся к этому примеру, размыты.

Таблица лидеров October Visit Challenge в Library с предварительным просмотром в реальном времени, Preview landscape, Preview portrait, тегами, Show for 30 seconds и местами использованияТаблица лидеров October Visit Challenge в Library с предварительным просмотром в реальном времени, Preview landscape, Preview portrait, тегами, Show for 30 seconds и местами использования

Рисунок 14. Agent: Published App в Library. Предварительный просмотр — это снимок работающего приложения, сделанный Performance Hub. В разделе Where it is used перечислены экраны и расписания, в которых оно показывается. Клуб и его члены вымышлены.

Предварительный просмотр, например Preview landscape, Preview portrait и предварительный просмотр плейлиста, не может показать работающее приложение, поэтому вместо него отображается заполнитель "Shown live on the screen".

Требования

  • Модуль ИИ-агент — для публикации приложения.
  • Модуль Custom Apps (Agent: Published Apps) на объекте — для показа приложения на экранах.
  • Приложение должно быть активно, у него должен быть включен параметр Allow on display screens, а его аудитория должна включать объект.

Когда экраны пропускают приложение агента

Экраны переходят к следующему элементу, если приложение агента:

  • приостановлено или его публикация отменена,
  • не разрешено на экранах,
  • имеет аудиторию, не включающую объект,
  • находится на объекте без модуля Custom Apps или
  • недоступно, потому что агент не в сети.

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

Веб-приложения на устройстве

On-Device Web App — это статический пакет HTML, CSS и JavaScript. Экраны скачивают его и воспроизводят из собственного хранилища, поэтому он продолжает воспроизводиться даже при пропадании интернета. Он подходит для контента, которому не нужно реагировать на происходящее на площадке, например:

  • Любая организация со стойкой регистрации: приветственная вывеска для стойки регистрации с вашим логотипом, датой и временем и новостной строкой. Ее могут использовать офисы, клиники, спортзалы, отели, школы и шоурумы. См. Пример: приветственная вывеска для стойки регистрации.
  • Гостеприимство: табло меню, которое в заданное время переключается с завтрака на обед и ужин.
  • Розничная торговля: реклама в витрине магазина, чередующая специальные предложения этой недели.
  • Образование: доска объявлений кампуса с сегодняшними событиями и напоминаниями.

Reception Welcome Sign на экране в альбомной ориентации: логотип Acme Demo Co., время и дата, "Good morning", "Welcome", "Please check in at the front desk" и новостная строка In the news внизуReception Welcome Sign на экране в альбомной ориентации: логотип Acme Demo Co., время и дата, "Good morning", "Welcome", "Please check in at the front desk" и новостная строка In the news внизу

Рисунок 15. Reception Welcome Sign — On-Device Web App — на экране в альбомной ориентации. Часы, дата и приветствие используют часовой пояс объекта. Значок Preview отображается только в предварительном просмотре, а не на реальных экранах. Компания Acme Demo Co. вымышлена, а заголовки на этом снимке экрана приведены в качестве примера.

Reception Welcome Sign на экране в книжной ориентацииReception Welcome Sign на экране в книжной ориентации

Рисунок 16. То же приложение на экране в книжной ориентации

Пример: приветственная вывеска для стойки регистрации

Reception Welcome Sign приветствует людей у вашей стойки регистрации логотипом, датой и временем и новостной строкой. Она подходит для любой организации со стойкой регистрации или входом.

  • Воспроизводится с экрана: логотип, фон, шрифт, часы, дата и приветствие являются частью приложения, поэтому работают без интернета. Часы показывают время в часовом поясе объекта.
  • Одна часть использует интернет: новостная строка. По умолчанию в ней показываются заголовки из раздела "In the news" Википедии с указанием источника на экране. Вместо этого она может считывать любую RSS-ленту, разрешающую межсайтовые запросы, например новостную ленту через ваш собственный ретранслятор.
  • Учитывает отсутствие сети: новостная строка скрывается, когда экран не в сети или заголовки не удается загрузить, и появляется снова, когда экран возвращается в сеть. Всё остальное воспроизводится из собственной копии на экране.
  • Настройте под себя: скачайте вывеску в разделе Для разработчиков ниже, замените logo.svg и background.jpg, измените приветственный текст и параметры новостей в config.js или отключите новостную строку. Затем загрузите ее: Library → Add content → On-Device Web App → Choose ZIP → Publish app.

Reception Welcome Sign без новостной строки, потому что заголовки не удается загрузитьReception Welcome Sign без новостной строки, потому что заголовки не удается загрузить

Рисунок 17. Когда заголовки не удается загрузить или экран не в сети, вывеска скрывает новостную строку и продолжает показывать всё остальное. Новостная строка появляется снова, как только заголовки снова загрузятся.

Для разработчиков: как устроена вывеска

Скачать Reception Welcome Sign (ZIP, 134 KB)

ФайлНазначение
index.htmlСтраница. Загружает Display App SDK, config.js и app.js.
config.jsПриветственный текст, приветствие, резервный часовой пояс и параметры новостей
app.jsЧасы, дата и приветствие в часовом поясе объекта, а также новостная строка
style.cssМакет для экранов с альбомной и книжной ориентацией
logo.svg, background.jpg, source-sans-3.woff2Логотип, фон и шрифт, хранящиеся в приложении
README.txt, OFL.txtКак настроить вывеску под себя и лицензия шрифта

Приложение считывает часовой пояс и языковой стандарт объекта из PHDisplay.onInit(ctx). Если SDK не удается загрузить, например когда экран запускается без подключения к сети, используется timeZone из config.js или собственный часовой пояс экрана.

Новостная строка — единственная часть, которая получает данные в реальном времени. Необязательный Display App SDK загружается с хоста приложений Performance Hub. Пока экран не в сети, новостная строка не отправляет запросов и остается скрытой, а событие браузера online снова загружает заголовки:

function loadNews() {
  clearTimeout(nextTimer);
  if (navigator.onLine === false) {
    hideTicker();
    return; // the 'online' event loads it again
  }
  if (loading) return;
  loading = true;
  var load = news.source === 'rss' ? rssHeadlines : wikipediaHeadlines;
  load()
    .then(function (headlines) {
      failures = 0;
      showTicker(headlines.slice(0, news.maxHeadlines || 8));
      schedule(news.refreshMinutes || 15);
    })
    .catch(function () {
      hideTicker();
      // ... schedules the next try
    })
    .then(function () { loading = false; });
}

window.addEventListener('offline', function () { clearTimeout(nextTimer); hideTicker(); });
window.addEventListener('online', function () { failures = 0; loadNews(); });

Чтобы использовать другой источник новостей, задайте в config.js параметр source: 'rss' и rssUrl с адресом ленты, разрешающей межсайтовые запросы (она отправляет заголовок Access-Control-Allow-Origin), например новостной ленты через ваш собственный ретранслятор. Убедитесь, что условия использования ленты разрешают показывать ее на ваших экранах. Чтобы отключить новостную строку, задайте enabled: false в разделе news.

Добавить такое приложение можно двумя способами:

  • Попросите ИИ-агента создать и опубликовать его.
  • Добавьте его самостоятельно: Library → Add content → On-Device Web App, затем загрузите ZIP-архив, папку или файлы. См. Добавление контента.

Беседа с ИИ-агентом слева, в которой агент сообщает, что добавил Reception Welcome Board в Library модуля Display Screens как On-Device Web App, а справа открыто приложениеБеседа с ИИ-агентом слева, в которой агент сообщает, что добавил Reception Welcome Board в Library модуля Display Screens как On-Device Web App, а справа открыто приложение

Рисунок 18. Попросите ИИ-агента создать экран. Он создаст приложение, откроет его рядом с чатом, чтобы вы могли его проверить, и добавит его в Library модуля Display Screens как On-Device Web App, готовое к размещению на экране. Беседа приведена в качестве примера.

Чтобы опубликовать On-Device Web App, агент:

  1. Изучает рекомендации по приложениям Display Screens, чтобы приложение помещалось на экране и соответствовало приведенным ниже правилам.
  2. Публикует приложение в вашей Library. На том же шаге он может опубликовать его на экранах или группах, запланировать его или перехватить управление экранами.
  3. Проверяет свою работу по снимку экрана с отрисованным приложением.
  4. По вашей просьбе выполняет откат к более ранней версии.

Это может сделать любой ИИ-агент, подключенный через MCP, если его доступ включает возможность Display Screens, в том числе ваш ИИ-агент. См. инструменты MCP для Display Screens и Создание ключа MCP. Ваш агент запрашивает подтверждение, прежде чем выполнять действия сразу с несколькими экранами.

Library с фильтром On-Device Web AppsLibrary с фильтром On-Device Web Apps

Рисунок 19. Отфильтруйте Library по On-Device Web Apps, чтобы увидеть все приложения объекта. Миниатюры приложений, не относящихся к этому примеру, размыты.

Размещение на экранах

Чтобы самостоятельно разместить приложение на экранах, откройте его в Library и нажмите Публиковать. В окне Show on screens выберите все экраны объекта или отдельные экраны, а затем выберите When: Always (default), Scheduled или Take over now. См. Публикация контента.

Диалоговое окно Show on screens для Reception Welcome Sign с отмеченным экраном Reception LobbyДиалоговое окно Show on screens для Reception Welcome Sign с отмеченным экраном Reception Lobby

Рисунок 20. Показ Reception Welcome Sign на экране Reception Lobby

Версии

Каждая публикация создает новую версию, которая никогда не меняется. Откройте приложение в Library, чтобы увидеть его версии (Versions): текущая помечена как Live, а кнопка Make live у любой более ранней версии выполняет откат к ней. В разделе Publish a new version перетащите ZIP-архив, папку или файлы, чтобы самостоятельно загрузить новую версию.

При публикации новой версии Performance Hub показывает сообщение "New version published. Screens update within a few seconds." После нажатия Make live он подтверждает, какая версия стала активной, например "Version 4 is now live". Изменение доходит до каждого экрана, показывающего приложение.

On-Device Web App Reception Welcome Board в Library с предварительным просмотром и версиями от v1 до v4, где v4 помечена как LiveOn-Device Web App Reception Welcome Board в Library с предварительным просмотром и версиями от v1 до v4, где v4 помечена как Live

Рисунок 21. Reception Welcome Board в Library: предварительный просмотр, Preview landscape и Preview portrait и четыре версии, из которых активна v4, а у более ранних есть кнопка Make live

Используйте Preview landscape и Preview portrait, чтобы открыть приложение в размере экрана и убедиться, что оно помещается, прежде чем публиковать его на экранах.

Как работает приложение

  • Без подключения к сети: экраны хранят копию приложения, поэтому оно продолжает воспроизводиться без интернета. Всё, что приложение загружает из интернета, недоступно, пока экран не в сети.
  • Данные в реальном времени: только из общедоступных HTTPS API, разрешающих запросы с других источников.
  • Изоляция: приложение работает в песочнице отдельно от Performance Hub и не имеет доступа к вашему сеансу Performance Hub.

Ограничения

ОграничениеЗначение
Общий размер10 MB
Количество файлов200
Размер одного файла5 MB
Длина пути к файлу200 символов
Типы файловhtml, htm, css, js, mjs, json, svg, png, jpg, jpeg, webp, gif, woff, woff2, txt, map
Время показа на экране в плейлистеОт 5 до 3,600 секунд

Рекомендации по дизайну

  • Заполняйте экран без прокрутки: 1920 × 1080 для экранов с альбомной ориентацией, 1080 × 1920 для экранов с книжной ориентацией.
  • Крупный текст: основной текст не меньше 32 px, заголовки не меньше 64 px.
  • Высокая контрастность, чтобы экран хорошо читался с другого конца помещения.
  • Никаких входов в систему, форм и эффектов при наведении. С экраном никто не взаимодействует.
  • Низкая нагрузка на процессор, чтобы приложение плавно работало на плеере.
  • Учет отсутствия сети, например когда используемый общедоступный API недоступен.
  • Использование часового пояса объекта для часов и времени.

Эти рекомендации подходят и для Smart Displays.

Для разработчиков: Display App SDK

Приложения могут при необходимости использовать Display App SDK, чтобы получать сведения об экране, на котором они работают, и сообщать о своем состоянии.

ВызовЧто предоставляет
PHDisplay.onInit(ctx)Выполняется при запуске приложения. ctx включает screen (id, name, orientation, width, height), facility (id, name, timezone), locale, brand (name, logoUrl, primaryColor), item (id, durationSec) и признак preview — является ли это предварительным просмотром
onVisible, onHiddenВыполняются, когда приложение показывается на экране или скрывается
ready(), done(), error()Сообщают экрану о состоянии приложения

durationSec — время показа элемента на экране, от 5 до 3,600 секунд.