Настройки Супераппа
Назначение документа
В инструкции описаны основные настройки клиентского приложения VK WorkSpace — Супераппа (ранее — VK Teams). Документ предназначен для использования администраторами организации.
Примечание
Ранее Суперапп VK WorkSpace назывался VK Teams, а также Myteam, что находит отражение в технических моментах (например, команды в консоли).
Включить мини-апп «Опросы»
Если мини-апп «Опросы» еще не установлен, его необходимо установить:
-
Если в конфигурации инсталляции один экземпляра сервиса Nomail, пропустите данный шаг и перейдите к шагу 2.
Если в конфигурации инсталляции существует более одного экземпляра сервиса Nomail, определите сервер на котором располагается необходимый экземпляр. Выполните скрипт instance_detect.sh на любом сервере в инсталляции:
В выводе команды будет необходимый сервер, в примере ниже это nomail.onpremise.nomail-1:
-
Подключитесь к серверу из шага 1 по SHH.
-
Авторизуйтесь под root-пользователем.
-
Выполните скрипт установки мини-аппа опросов survey_deploy.sh:
Во время установки мини-аппа в консоли будет отображаться информация о пройденных этапах. В случае возникновения ошибки установки отобразится описание, какой этап не удалось выполнить. В случае успешной установки мини-аппа отобразится строка «All operations have been completed successfully. Check working miniapp!».
После того как мини-апп опросов установлен, управлять им можно в панели администратора VK WorkSpace (доступна при наличии интеграции с Почтой VK WorkSpace), см. документацию.
Запретить использование устаревших версий Супераппа
Начиная с версии 24.2 вы можете запретить пользователям использовать клиентские приложения, версия которых ниже минимально поддерживаемой версии (устанавливается администратором организации). По умолчанию запрет не включен.
Если запрет установлен и версия клиентского приложения ниже минимально поддерживаемой, пользователю для продолжения работы необходимо обновить приложение.
Чтобы установить запрет:
-
В конфигурационном файле /usr/local/nginx-im/html/myteam/myteam-config.json в секции updates установите минимально поддерживаемую версию для каждой платформы:
где:
-
version — номер версии.
-
build — номер сборки. Если номер сборки неизвестен, допустимое значение — 0.
-
full_version — номер версии и номер сборки, разделенные точкой (full_version: version.build).
Если минимально поддерживаемая версия указана некорректно, запрет на использование устаревших версий клиентских приложений не будет выполняться.
-
-
В поле force_update_enabled установите запрет на использование устаревших версий клиентских приложений:
где:
-
true — включает запрет на использование устаревших версий клиентских приложений.
-
false — выключает.
-
-
Укажите в поле updates.customLandingUrl адрес dl-лендинга, с которого можно скачать обновление для клиентского приложения:
Если поле customLandingUrl не заполнено, пользователю будет предложено скачать обновление с apps.<platform>.url.
Пример настройки запрета в myteam-config.json для всех платформ:
"updates": { "customLandingUrl": "https://dl.<YOUR_DOMAIN>.ru", "android": { "min_supported_version": { "version": "10.6.0", "build": "528", "full_version": "10.6.0.528" }, "force_update_enabled": true }, "ios": { "min_supported_version": { "version": "10.6", "build": "90186", "full_version": "10.6.90186" }, "force_update_enabled": true }, "linux_x64": { "min_supported_version": { "version": "10.0", "build": "9706", "full_version": "10.0.9706" }, "force_update_enabled": true }, "mac_x64": { "min_supported_version": { "version": "5.0", "build": "9702", "full_version": "5.0.9702" }, "force_update_enabled": true }, "win_x32": { "min_supported_version": { "version": "10.0", "build": "9707", "full_version": "10.0.9707" }, "force_update_enabled": true } } -
Пересоздайте под админ-консоли:
где * — уникальное имя пода. Имя пода необходимо получить с помощью вывода команды:
Отключить синхронизацию черновиков между клиентскими приложениями
Начиная с версии 25.2 вы можете отключить синхронизацию черновиков сообщений между клиентскими приложениями одного пользователя, чтобы исключить утечку данных. После отключения синхронизации черновики продолжат работать в рамках одного клиентского приложения.
Чтобы отключить синхронизацию черновиков:
-
В конфигурационном файле /usr/local/nginx-im/html/myteam/myteam-config.json установите для поля draft-enabled значение false.
-
Пересоздайте под админ-консоли:
где: * — уникальное имя пода. Имя пода необходимо получить с помощью вывода команды:
Ограничить создание скриншотов и записи экрана
Вы можете ограничить на уровне домена создание скриншотов и записей экрана в клиентских приложениях, чтобы предотвратить утечку критически важной или служебной информации.
Для Android на уровне системы реализована защита, блокирующая возможность создания скриншотов и записи экрана. При попытке сделать скриншот или запись в результате будет черный экран.
Для iOS отображается визуальное предупреждение о запрете на создание скриншотов. При попытке сделать скриншот в результате будет белый экран.
Для десктоп-приложений:
- Windows — реализована защита от скриншотов и блокировка распространённых средств записи экрана (например, Bandicam). При попытке сделать скриншот, на нем не отобразится окно приложения. Аналогично и при записи экрана.
- macOS — внедрены ограничения на стандартные сценарии снятия скриншотов, с учётом системных разрешений. При попытке сделать скриншот, на нем не отобразится окно приложения
Вы можете запретить пользователям делать скриншоты и запись экрана двумя способами — через конфигурационный файл или при помощи Панели администратора VK WorkSpace (при наличии).
Через конфигурационный файл
-
Перейдите в конфигурационный файл /usr/local/nginx-im/html/myteam/myteam-config.json и установите для параметра screenshots-allowed значение false.
-
Перезапустите pod myteam-admin:
Через Панель администратора
-
Перейдите в конфигурационный файл /usr/local/nginx-im/html/myteam/myteam-config.json и убедитесь, что в нем есть переменная screenshots-allowed с любым значением. Если переменной нет — добавьте ее:
-
Подключитесь к серверу Супераппа и сгенерируйте client_id и client_secret:
creds=$(curl -s http://onpremise.stroma-1.weave.local:8036/api/v1/private/generate_credentials); \ client_id=$(echo $creds | jq -r ".client_id"); \ client_secret=$(echo $creds | jq -r ".client_secret"); \ client_secret_hash=$(echo $creds | jq -r ".client_secret_hash"); \ echo "tokeeper.request.add_application('biz', 'biz admin', '$client_id', '$client_secret_hash', '')" | sudo tarantoolctl eval tokeeper-1 echo $client_id echo $client_secretЗапомните выводы команд.
-
Перейдите в инсталлятор VK WorkSpace по адресу http://server-ip-address:8888 в раздел Настройки → Интеграции и включите переключатель VK Teams поддерживает авторизацию ЕСИА.
- Укажите client_id и client_secret и нажмите на кнопку Сохранить.
- Перейдите в раздел Настройки → Переменные окружения.
- В левом боковом меню найдите bizf и нажмите на иконку

-
Нажмите на кнопку Добавить и добавьте переменные со следующими значениями:
MYTEAM_GODMOD_HOST: https://admin.<домен Супераппа>
FRONTEND_ADD_PERMISSIONS: im.can_access_superapp
Внимание
Не перезаписывайте значение переменной FRONTEND_ADD_PERMISSIONS. Найдите переменную в таблице и добавьте для нее значение im.can_access_superapp без удаления ранее добавленных значений
-
Нажмите Сохранить.
- Выполните шаг up_container для контейнера bizf.
- Перейдите в расширенную панель администратора по адресу https://biz.<ваш домен>/admin/features/ и добавьте фичу tmp-myteam-plugins-configuration.
-
Перейдите в Панель администратора по адресу https://biz.<ваш домен>/ в раздел Суперапп и включите Запрет на скриншоты и запись экрана.
-
Нажмите на кнопку Сохранить.
Включить доступ к Супераппу по паролю
Вы можете включить для пользователей доступ в приложение по паролю.
Если настройка не была включена ранее, при первом входе приложение предложит пользователю создать пароль. Пароль может быть разный на разных устройствах и сбрасывается, если пользователь заново входит в свою учетную запись.
Чтобы включить доступ по паролю:
- Перейдите в конфигурационный файл /usr/local/nginx-im/html/myteam/myteam-config.json и установите для параметра pin-required значение true.
-
Перезапустите pod myteam-admin:
Отображать баннер о подключенном VPN
Вы можете предупреждать пользователей, что на устройстве подключен VPN. Это поможет избежать перехвата чувствительной информации и низкой скорости работы приложения.
Данная настройка доступна для декстоп- и мобильной версии Супераппа.
При включении настройки пользователь увидит баннер с предупреждением в момент запуска приложения. При этом настройка не запрещает пользователю использовать приложение с включенным VPN.
Чтобы включить н:
- Перейдите в конфигурационный файл /usr/local/nginx-im/html/myteam/myteam-config.json и установите для параметра vpn-detect значение true.
-
Перезапустите pod myteam-admin:
Скрыть содержимое пуш-уведомлений
Вы можете скрыть содержимое пуш-уведомлений на мобильных устройствах пользователей, чтобы защитить данные и избежать утечек информации.
При включении настройки в пуш-уведомлениях не будет видно:
- Содержимое сообщения.
- Имя отправителя и получателя.
- Название группы/канала/бота.
При включении настройки:
- Всплывающие уведомления на веб- и декстоп-клиентах отображаются согласно настройкам клиентов,
- В настройках мобильных приложений приватность уведомлений включена по умолчанию и недоступна для изменения пользователями.
Настройка доступна на уровне всей инсталляции и влияет на все группы/каналы/личные сообщения для всех пользователей без исключения.
Подробнее о работе сервисов уведомлений описано в документации по архитектуре (не является частью публичной документации, обратитесь к представителю VK Tech, чтобы ознакомиться с документом).
Чтобы скрыть содержимое пуш-уведомлений:
Шаг 1. Включите отправку пуш-уведомлений через сервис VKTPusher
-
Откройте на редактирование конфигурационный файл сервиса Boss в режиме суперпользователя:
-
Для параметра set PNOTIFY_VKT_PUSHER_ENABLE укажите значение «1» и сохраните изменения:
-
Примените настройку.
Для инсталляции на одну виртуальную машину выполните команду:
Для кластерной инсталляции:
Шаг 2. Настройте сервис VKTPusher
-
Откройте на редактирование конфигурационный файл сервиса VKTPusher в режиме суперпользователя:
-
Для параметра erase_sensitive_push_content укажите значение true и сохраните изменения:
-
Примените настройку.
Для инсталляции на одну виртуальную машину выполните команду:
Для кластерной инсталляции:
Шаг 3. Настройте myteam-config
-
Откройте на редактирование конфигурационный файл myteam-config в режиме суперпользователя:
-
Добавьте следующие настройки в файл и сохраните изменения:
-
Примените настройки:
Переключиться на провайдера пуш-уведомлений RuStore
Вы можете настроить отправку пуш-уведомлений через RuStore, если не хотите использовать зарубежных провайдеров или на мобильных устройствах пользователей отсутствуют Google Services.
Чтобы пользователи могли получать пуш-уведомления через RuStore, необходимо выполнение следующих условий:
- Приложение RuStore должно быть установлено на мобильных устройствах пользователей.
- Приложению RuStore разрешена работа в фоновом режиме. Если разрешения нет, пуш-уведомления будут приходить со значительной задержкой.
- Пользователь должен авторизоваться в приложении RuStore.
Если отправка пуш-уведомлений через RuStore включена и приложение RuStore не установлено, на мобильных устройствах пользователя может отображаться баннер о необходимости установить приложение (настройки описаны ниже).
Чтобы настроить отправку пуш-уведомлений через RuStore:
Шаг 1. Включите отправку пуш-уведомлений через сервис VKTPusher
-
Откройте на редактирование конфигурационный файл сервиса Boss в режиме суперпользователя:
-
Для параметра set PNOTIFY_VKT_PUSHER_ENABLE укажите значение «1» и сохраните изменения:
-
Примените настройку.
Для инсталляции на одну виртуальную машину выполните команду:
Для кластерной инсталляции:
Шаг 2. Настройте myteam-config
-
Откройте на редактирование конфигурационный файл myteam-config в режиме суперпользователя:
-
Добавьте в файл секцию push-settings и сохраните изменения:
где:"push-settings": { "push-provider": "rustore", "use-rustore-if-fcm-unavailable": true, "show-download-rustore-screen": true, "show-download-rustore-screen-if-no-one-provider-available": true, "show-rustore-screen-every-days-in-first-month": 7, "show-rustore-screen-every-days-from-second-month": 30, "rustore-url": "https://www.rustore.ru" }-
push-provider — какой провайдер пуш-уведомлений должен использоваться на клиентском приложении. Возможные значения — rustore или firebase.
-
use-rustore-if-fcm-unavailable — используем ли RuStore, если Google Services отсутствует на мобильном устройстве пользователя. Если true — используем RuStore.
-
show-download-rustore-screen — отображаем ли пользователям баннер об отсутствии приложения RuStore при включенных RuStore пуш-уведомлениях. Если true — отображаем.
-
show-download-rustore-screen-if-no-one-provider-available — отображаем ли пользователям баннер об отсутствии приложения RuStore, когда на мобильном устройстве не доступен ни один из провайдеров пуш-уведомлений. Если true — отображаем.
-
show-rustore-screen-every-days-in-first-month — через сколько дней должен отображаться баннер в первый месяц.
-
show-rustore-screen-every-days-from-second-month — через сколько дней должен показываться баннер, начиная со второго месяца.
-
rustore-url — ссылка на скачивание приложения RuStore, используется при отсутствии приложения.
-
-
Примените настройки:

