ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ

Как создать макет, Google Таблицу и конфигурацию с нуля: пошаговая инструкция

> Медиадисплей > Интеграции > Интеграция с Google
Дата обновления: 20 октября 2026 г. Дата публикации: 5 июня 2026 г. Автор: Жапов Ананда

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


Создание макета (экрана)

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

Как создать макет

  1. Зайдите на сервер Медиадисплей
  2. Перейдите в раздел «Макеты» и нажмите кнопку «+ Создать макет»
    image
  3. Задайте имя макета (например, назвал Test). Это имя понадобится нам на этапе настройки конфигурации для [SwitchCover].

    image

  4. На пустом макете размещайте элементы. Для этого:

    • В правой панели нажмите кнопку «Редактировать»

      image

    • Внизу нажмите и выберите тип данных в зависимости от того, что вы хотите отобразить:

      image
      image

  5. При добавлении виджета откроется окно, где необходимо ввести:

    • Название (Name): Это внутренний идентификатор элемента. Запомните его: он потребуется позже для name в конфигурационном файле. Например, назвал Блок1.
    • Содержимое (Text) (опционально): Можно сразу ввести статический данные.
      image
      image
  6. После размещения всех компонентов Обязательно нажмите кнопку «Сохранить» в правой панели, потом нажмите «Опубликовать», чтобы изменения вступили в силу.

Важно: Имя каждого компонента (Name) является связующим звеном между вашим макетом и конфигурационным файлом. Именно по этому имени утилита будет понимать, в какой элемент экрана подставлять данные.


Подготовка источника данных: Google Таблицы

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

Структура таблицы

Ваша таблица может содержать несколько листов (например, «Данные», «Изображения», «Меню»). Вот как может выглядеть пример листа для простого макета:

image

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

Получение SpreadsheetId

Идентификатор таблицы (SpreadsheetId) необходим для указания в конфигурационном файле. Чтобы его получить, откройте таблицу в браузере и скопируйте часть URL-адреса:

https://docs.google.com/spreadsheets/d/ **Это_ваш_ID** /edit

Настройка доступа

  1. Получите файл credentials.json для доступа к Google Sheets API. Инструкция по его получению приведена в этой документации.
  2. В файле credentials.json найдите email сервисного аккаунта (например, nameserviceaccount@nameproject-498308.iam.gserviceaccount.com).
  3. В вашей Google Таблице нажмите «Настройки доступа» в правом верхнем углу и добавьте этот email с правами «Читатель».
    image

    image

Создание и настройка конфигурационного файла (INI)

Конфигурационный файл — это «дирижер», который говорит утилите, откуда брать данные и куда их помещать в макете. Создайте файл с расширением .ini (например, МойПервыйЭкран.ini) в папке Configs и откройте его в любом текстовом редакторе.

Обязательная секция [Default]

Эта секция содержит основные настройки подключения.

[Default]
; ID вашей Google-таблицы
SpreadsheetId=1ABC123_Zyxwv_YourSpreadsheetId

; Имя приемника (например d1)
ReceiverId=d1

; Путь к файлу учетных данных Google
CredentialsPath=credentials.json

; URL сервера Медиадисплей
ApiUrl=http://127.0.0.1:5206

; Опционально: Имя файла для сохранения JSON (полезно для отладки)
OutputFileName=debug.json

Опциональная секция [SwitchCover]

Эта секция отвечает за переключение самого макета на экране. Без нее контент отправится на текущий активный макет.

[SwitchCover]
; Имя макета, которое вы задали при его создании.
Cover=test

Секции контента: связываем таблицу и макет

Теперь самое главное: для каждого виджета на вашем макете мы создаем отдельную секцию. Имя секции может быть любым (например, [Блок1], [Таблица]), но для ясности лучше использовать смысловые названия.

Текст

Возьмем текст из ячейки A1 листа Лист1 и отправим его в блок с именем Блок1 на макете.

[Заголовок]
enable=true
type=text
name=Блок1             ; Имя компонента на макете
source=Лист1!A1        ; Адрес ячейки в Google Таблице
Timer=30               ; Обновлять каждые 30 секунд (для службы)

Таблица

Теперь отправим данные из диапазона B4:E8 (название, описание, старая цена, цена) в виджет-таблицу с именем Меню.

[Таблица]
enable=true
type=table
name=Таблица                ; Имя компонента на макете
ListRange=Лист1!A2:B8       ; Диапазон данных в таблице
Timer=10

Изображение

Возьмем URL картинки из ячейки D3 и отправим в медиа Изображение.

[Картинка]
enable=true
type=image
name=Изображение        ; Имя компонента на макете
source=Лист1!D3         ; Ячейка с ссылкой на изображение
Timer=60

Важно: Чтобы картинка работала, в ячейке D3 должна быть ссылка на файл изображения.

Диаграмма

Для создания диаграммы укажите диапазон данных, например, Лист1!A11:B23.

[ГрафикПродаж]
enable=true
type=chart
charttype=bar           ; Тип диаграммы: bar, line, pie и др.
name=Диаграмма
ListRange=Лист1!A11:B23
Timer=30

Видео

Видео настраивается аналогично изображению.

[Видео]
enable=true
type=video
name=Видео
source=Лист1!D5
Timer=60

Плейлист

Тип playlist позволяет переключать существующий на сервере Медиадисплей плейлист (слайд). Утилита берёт имя плейлиста из указанной ячейки Google Таблицы и отправляет его в медиа-компонент с заданным именем.

[Плейлист]
enable=true
type=playlist
name=Плейлист          ; Имя компонента на макете
source=Лист1!D7        ; Ячейка, где указано имя плейлиста (например, "Бурятия")
Timer=60

Важно:
- В ячейке D7 (или другой, указанной в source) должно быть точное имя плейлиста, которое существует на сервере Медиадисплей.
- Имя компонента name на макете обычно задаётся как SetMedia — так сервер поймёт, что это переключатель плейлиста.
- Если имя плейлиста указано прямо в конфиге (статически), можно использовать value=burger2 вместо source=.


Запуск и проверка

Для разовой проверки:

  1. Сохраните ваш INI-файл в папку Configs рядом с утилитой.
  2. Запустите утилиту, передав ей ваш конфиг: MD4_GoogleConnector.exe config=Configs/МойПервыйЭкран.ini.

Для фоновой автоматической работы:

  1. Запустите install_eventlog.bat от имени администратора (один раз).
  2. Запустите ServiceInstall.bat от администратора, выберите ваш конфиг из списка и установите службу.
  3. В services.msc найдите службу «RBSOFT:Служба обновления медиа-контента» и запустите ее.

Где смотреть логи?

  1. Если запускали вручную через утилиту, информация выводится в папке Log.
  2. Если работает служба, используйте Просмотр событий (eventvwr.msc) -> Журналы приложений и служб -> MediaDisplayContentService.

Коды ошибок

Код Описание Возможные причины
0 Success Успешное выполнение.
1 ConfigurationError Ошибка в конфигурационном INI-файле.
2 FileNotFound Отсутствует credentials.json или неверный путь к INI-файлу.
3 GoogleApiError Проблемы с Google Sheets API.
4 InvalidDataFormat Неверный формат данных в JSON.
5 NetworkError Нет связи с сервером Медиадисплей.
6 ExternalSourceError Ошибка загрузки внешнего JSON-источника (DataUrl). Проверьте доступность URL, корректность формата JSON и сетевое подключение.

Результат на экране

image

image

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


Заключение

Вы создали свой первый динамический экран! Мы прошли все основные шаги: от проектирования макета и подготовки данных в Google Таблицах до написания конфигурационного файла и запуска обновления. Эта схема универсальна и подходит для любых задач: от меню в кафе до информационных дашборд.