Удаленное управление устройством на Android OS/en: различия между версиями

Материал из SmartPlayer
Обновление для соответствия новой версии исходной страницы.
Новая страница: «== '''Functionality Limitations''' == In its current implementation, this functionality has several limitations, namely: * '''Local servers only.''' If devices can ping each other via their local IP addresses, remote device control should work correctly. {{Note|In a local network where all devices are within the same subnet, remote control should function correctly. If, during usage within the local network, a device is located behind NAT, internet acces...»
Строка 5: Строка 5:
</div>
</div>


<div lang="ru" dir="ltr" class="mw-content-ltr">
== '''Preliminary Settings''' ==
== '''Предварительные настройки''' ==
To use the remote control functionality on a device, the user must go to the “Remote Control” settings category. In this category, find the parameter with the same name and switch it to “Enable”.   
Для того чтобы использовать функциональность удалённого управления на устройстве пользователю переходит в категорию настроек «Удаленное управление». В этой категории найти одноименный параметр с переключателями и выбрать «Включить».
[[File:Настройка_webrtc.png|thumb|center| Example of displaying the “Remote Control” parameter in device settings|800px]]
[[File:Настройка_webrtc.png|thumb|center| Пример отображения параметра «Удаленное управление» в настройках устройства|800px]]
{{Note|Вариант «Как в сборке» используется в основном специалистами технической поддержки.|warn}}
== '''Принцип действия''' ==
Для того чтобы пользователь смог воспользоваться данной функциональностью, ему необходимо авторизоваться в личном кабинете SmartPlayer.
Следующим шагом пользователю необходимо перейти в раздел "Устройства" личного кабинета и найти нужное ему устройство.
[[File:Выбор_устройства_для_удаленного_управления.png|thumb|center| Пример отображения раздела "Устройства" в личном кабинете и on-line устройства. |800px]]
Кликнув на это устройство, пользователю откроется тулбар (данный тулбар будет расположен справа). В этом тулбаре необходимо найти строку "Управление устройством".
[[File:Правый_тулбар.png|thumb|center| Пример отображения тулбара справа с нужным параметром "Управление устройством".|800px]]
После нажатия на строку "Управление устройством" пользователю откроется окно, в котором будет отображён экран устройства и виртуальный пульт управления.
[[File:Новый_общий_вид.png|thumb|center| Пример отображения на устройстве трансляции с виртуальным пультом управления.|800px]]
С помощью виртуального пульта пользователь сможет взаимодействовать с устройством и совершать нужные ему действия.
{{Note|Удаленное управление также поддерживает взаимодействие не только через кнопки, но и через мышь и клики. В таком варианте в качестве выбора действия доступен клик мыши. Исключением является только скроллинг/пролистывание вниз или вверх. Оно возможно только с кнопок виртуального пульта.|warn}}
=== '''Виртуальный пульт''' ===
На виртуальном пульте управления будут доступны различные кнопки, которые будут влиять на возможности управления устройством. Виртуальный пульт включает в себя следующие кнопки:
# Клавиша "ОК" - отвечает за подтверждение выбранного действия или за проваливание в следующий пункт меню (по аналогии со стрелкой вправо)
# Джойстик на четыре направления (вверх, вниз, влево, вправо) - позволяет двигаться по элементам меню устройства. В зависимости от необходимости может: скроллить, проваливаться в следующий пункт меню, вернуться на шаг назад
# Кнопка "Назад" - позволяет вернуться на предыдущий пункт меню управления устройством
# Кнопка "Домой" - позволяет полностью открыть/закрыть меню настроек устройства
# Кнопка отключения звука - позволяет выключить звук на устройстве
# Кнопка «+» - позволяет увеличить громкость устройства
# Кнопка «-» - позволяет уменьшить громкость устройства
[[File:Пульта_управления.png|thumb|center| Пример отображения виртуального пульта с кнопками.|800px]]
== '''Управление на устройстве''' ==
На устройстве появились иконки управления в правом верхнем углу:
* скрыть все окна — переносит пользователя на экран с трансляцией;
* передача файлов — модальное окно для работы с обменом файлами с устройством;
* терминал — модальное окно с выводом логов о работе устройства;
* файловый менеджер — страница с доступом к файловой системе устройства;
* захват клавиатуры — активирует специальную клавиатуру SmartpLayer для работы с устройством.
[[File:Иконки управления устройством.png|thumb|center| Пример отображения иконок управления устройством|800px]]
=== '''Отправка файлов''' ===
Специальное модальное окно позволяющее загрузить файлы в память устройства.
Кнопка «Отправка файлов» открывает модальное окно, в котором есть следующие параметры и данные:
* окно для загрузки файлов через drag-n-drop (перетаскивание файла);
* пустое поле для загрузки файла по URL-ссылке;
* описание работы функционала;
* описание конечной точки пути загрузки.
[[File:Отправка_файлов.png|thumb|center| Пример отображения модального окна с загрузкой файлов|800px]]
При отправке файла виден прогресс его загрузки на устройство.
=== '''Терминал''' ===
В терминале используются Shell-команды. Одиночные команды в терминале выполняются единоразово. Если команда продолжительная по времени действия (например ping), то информация от этой команды периодически выводится в окне терминала.
Терминал в интерфейсе удаленного управления работает как модальное окно и отображает информацию с логами об устройстве. С помощью иконок его можно:
* развернуть на весь экран;
* свернуть;
* закрыть.
[[File:Теримнал_устройства.png|thumb|center| Пример отображения терминала в удаленном управлении|800px]]
=== '''Файловый менеджер''' ===
Файловый менеджер расположен внутри устройства по определенному пути с названием внешнего хранилища/flash-карты(название можно просмотреть в личном кабинете в информации по устройству и в последствии вставить в путь).
[[File:Путь_с_названием_устройства.png|thumb|center| Пример отображения пути с названием устройства|800px]].
Внутри файлового менеджера пользователь может управлять файловым менеджером. Для этого используются иконки, расположенные в левом верхнем углу экрана:
* создать папку — создает новую директорию в файловом менеджере;
* переход на уровень выше — выходит из текущей папки на уровень предыдущей;
* обновить — обновляет состояние файлового менеджера и его содержимого;
* домой — кнопка выхода на экран удаленного управления.
[[File:Управление_директориями.png|thumb|center| Пример отображения иконок управляющих файловым менеджером|800px]]
Данная страница открывается по нажатию кнопки и представляет собой список с файлами и папками, расположенными внутри хранилища устройства.
[[File:Список_файлов устройство.png|thumb|center| Пример отображения страницы файлового менеджера|800px]]
При работе с элементами файлового менеджера доступен разный набор действий для разных сущностей:
* папки — доступны команды: переименовать, удалить, скачать;
[[File:Действия_с_папками.png|thumb|center| Пример отображения действий с папками|800px]]
* обычные файлы — доступны команды: переименовать, удалить, скачать, запустить;
[[File:Действия_с_файлами.png|thumb|center| Пример отображения действий с файлами|800px]]
* APK-файлы — доступны команды: переименовать, удалить, скачать, запустить, тихая установка (фоновая установка);
[[File:Действия_с_APK.png|thumb|center| Пример отображения действий с APK-файлами|800px]]
* действия при выделении нескольких файлов — доступны команды: удалить, скачать.
[[File:Действия_с_выделенными_файлами.png|thumb|center| Пример отображения действий с выделенными файлами|800px]]
{{Note|Все файлы скачиваются в формате zip-архива.|warn}}
=== '''Захват клавиатуры''' ===
Активация захвата нажатий включает захват действий, то набираемый текст с клавиатуры регистрируется системой и выводится на экран. При активации захвата клавиатура меняется с системной (установленной на устройстве по умолчанию) на клавиатуру SmartPlayer. Вернуть системную клавиатуру можно кликнув по иконке глобуса внизу экрана. При отключённом захвате клавиатуры ввести текст в режиме удаленного управления нельзя. <br>
Использование системной клавиатуры доступно, но набор текста усложнён. Каждый символ выбирается кликом мыши. В качестве альтернативного варианта можно копировать и вставлять текст через горячие клавиши.
[[File:Стандартная_икона.png|thumb|center| Пример отображения иконки для возвращения стандартной иконки|800px]]
</div>


<div lang="ru" dir="ltr" class="mw-content-ltr">
{{Note|The “As in build” option is mainly used by technical support specialists.|warn}}
== '''Ограничения функциональности''' ==
 
Данная функциональность в текущей реализации имеет некоторые ограничения, а именно:
== '''Operating Principle''' ==
* '''Только для локальных серверов.''' Если устройства пингуются друг с другом по своим локальным Ip-адресам, то удаленное управление устройством должно работать корректно.  
To use this functionality, the user must log in to the SmartPlayer personal account. 
{{Note|В локальной сети, где все устройства находятся в одной подсети, то работа удаленного управления устройством должна быть корректна. В случае, если в процессе использования удаленного управления устройством, в рамках их локальной сети устройство находится за NAT, то для подключения устройств нужен доступ к глобальной сети интернет. Так как в этом случае используются STUN-сервера для определения внешнего IP (в рамках одной локальной сети если устройство находится за NAT). Но если имеется свой STUN-сервер, данное решение не нужно.|warn}}
 
== '''Тонкости и нюансы работы функционала''' ==
Next, the user needs to go to the "Devices" section of the personal account and find the required device. 
В данном разделе будут описаны тонкости и нюансы работы функционала, которые позволят лучше разобраться в принципах его действия:
[[File:Выбор_устройства_для_удаленного_управления.png|thumb|center| Example of displaying the "Devices" section in the personal account and an on-line device.|800px]]
# Зажатая клавиша на пульте «Домой» отключает режим «Киоска»;
 
# Поддержка звука начинается с Android 10 и выше;
After clicking on the device, a toolbar will open on the right side of the screen. In this toolbar, find the line "Device Control". 
# На данный момент пользователю доступен функционал для удалённого управления, даже если устройство имеет статус в личном кабинете "off-line" (то есть оно не должно подсвечиваться зелёным).
[[File:Правый_тулбар.png|thumb|center| Example of the right-side toolbar with the required "Device Control" parameter.|800px]]
# Сам процесс работы удаленного управления отчасти обособлен от работы клиентского приложения, что имеет некоторые преимущества. Например: если клиентское приложение крашнулось или не запускается, то с помощью удаленного управления можно взаимодействовать с устройством - поменять настройки в системе устройства или установить новый билд клиентского приложения для восстановления работоспособности устройства.
 
# Если трансляция не запустилась на устройстве, то через удаленное управление можно взаимодействовать с файловым менеджером устройства.
After clicking "Device Control", a window will open displaying the device screen and a virtual remote control. 
# Для корректной работы данной функциональности пользователю необходимо иметь root-права на устройстве или же должна иметься подпись прошивки производителя устройства. Главное, чтобы была настроена сеть и доступ до микросервиса удалённого управления на сервере.
[[File:Новый_общий_вид.png|thumb|center| Example of a broadcast displayed on the device with a virtual remote control.|800px]]
# На некоторых устройствах виртуальные клавиши «+» и «-» могут не функционировать. Это связано с аппаратными ограничениями устройства. Изменить громкость можно будет в личном кабинете через трансляцию или через физический пульт от приставки.  
 
# При быстром многократном нажатии одной кнопки на пульте устройство запоминает все сделанные нажатия, но отображает их с задержкой. То есть, если пользователь пять раз нажмет стрелку вверх, то приставка сделает эти пять шагов, но с задержкой в одну секунду после каждого шага. Данный принцип является ограничением Android OS.  
Using the virtual remote, the user can interact with the device and perform the required actions. 
# Некоторые исполняемые файлы, расположенные внутри хранилища можно запустить.
 
== '''Видеоинструкция''' ==
{{Note|Remote control also supports interaction not only via buttons but also via mouse clicks. In this case, actions can be selected by mouse click. The only exception is scrolling up or down, which is available only via the virtual remote buttons.|warn}}
[https://www.youtube.com/watch?v=mRpz5flafXU Удаленное управление устройством на Android OS]
 
== '''Итоговый результат''' ==
=== '''Virtual Remote Control''' === 
Пользователь понимает и умеет использовать удаленное управление на устройствах под управлением Android OS.
The virtual remote includes various buttons that affect device control. The remote contains the following buttons:
== '''Демонстрационное видео''' ==
 
# "OK" button — confirms the selected action or moves to the next menu item (similar to the right arrow)
# Four-direction joystick (up, down, left, right) — allows navigation through device menu elements. Depending on the situation, it can: scroll, move to the next menu item, or return to the previous step
# "Back" button — returns to the previous menu item
# "Home" button — fully opens/closes the device settings menu
# Mute button — turns off the device sound
# “+” button — increases the device volume
# “-” button — decreases the device volume
 
[[File:Пульта_управления.png|thumb|center| Example of the virtual remote with buttons.|800px]]
 
== '''Device Management''' == 
Control icons have appeared in the upper-right corner of the device screen:
 
* hide all windows — returns the user to the broadcast screen;
* file transfer — modal window for exchanging files with the device;
* terminal — modal window displaying device logs;
* file manager — page with access to the device file system;
* keyboard capture — activates the SmartPlayer keyboard for working with the device.
 
[[File:Иконки управления устройством.png|thumb|center| Example of device control icons|800px]]
 
=== '''File Transfer''' === 
A special modal window that allows uploading files to the device memory. 
 
The “File Transfer” button opens a modal window with the following parameters and information:
 
* drag-and-drop area for file upload;
* empty field for uploading a file via URL;
* description of the functionality;
* description of the final upload destination path.
 
[[File:Отправка_файлов.png|thumb|center| Example of the modal window for file uploading|800px]]
 
When sending a file, the upload progress is displayed.
 
=== '''Terminal''' === 
The terminal uses Shell commands. Single commands are executed once. If a command runs continuously (for example, ping), the output will be periodically displayed in the terminal window. 
 
The terminal works as a modal window in the remote control interface and displays device logs. Using icons, it can be:
 
* expanded to full screen;
* minimized;
* closed.
 
[[File:Теримнал_устройства.png|thumb|center| Example of the terminal in remote control|800px]]
 
=== '''File Manager''' === 
The file manager is located within the device at a specific path corresponding to the external storage/flash drive name (this name can be found in the personal account under device information and then inserted into the path). 
[[File:Путь_с_названием_устройства.png|thumb|center| Example of displaying the path with the device name|800px]].
 
Inside the file manager, the user can manage directories using icons located in the upper-left corner of the screen:
 
* create folder — creates a new directory;
* go up one level — moves to the parent directory;
* refresh — updates the file manager and its contents;
* home — returns to the remote control screen.
 
[[File:Управление_директориями.png|thumb|center| Example of file manager control icons|800px]]
 
This page displays a list of files and folders located within the device storage. 
[[File:Список_файлов устройство.png|thumb|center| Example of the file manager page|800px]]
 
Different actions are available depending on the selected entity:
 
* folders — rename, delete, download;
[[File:Действия_с_папками.png|thumb|center| Example of actions for folders|800px]]
 
* regular files — rename, delete, download, run;
[[File:Действия_с_файлами.png|thumb|center| Example of actions for files|800px]]
 
* APK files — rename, delete, download, run, silent install (background installation);
[[File:Действия_с_APK.png|thumb|center| Example of actions for APK files|800px]]
 
* multiple selected files — delete, download.
[[File:Действия_с_выделенными_файлами.png|thumb|center| Example of actions for selected files|800px]]
 
{{Note|All files are downloaded in zip archive format.|warn}}
 
=== '''Keyboard Capture''' === 
Activating keyboard capture enables capturing keystrokes — typed text is registered by the system and displayed on the screen. When activated, the system keyboard (default device keyboard) is replaced with the SmartPlayer keyboard. 
 
To return to the system keyboard, click the globe icon at the bottom of the screen. When keyboard capture is disabled, text input in remote control mode is not possible.<br>
 
Using the system keyboard is available, but text input is more complicated. Each character must be selected with a mouse click. Alternatively, text can be copied and pasted using keyboard shortcuts.
 
[[File:Стандартная_икона.png|thumb|center| Example of the icon for returning to the default keyboard|800px]]
 
== '''Functionality Limitations''' ==
In its current implementation, this functionality has several limitations, namely:
* '''Local servers only.''' If devices can ping each other via their local IP addresses, remote device control should work correctly.
{{Note|In a local network where all devices are within the same subnet, remote control should function correctly. If, during usage within the local network, a device is located behind NAT, internet access is required to connect the devices. In this case, STUN servers are used to determine the external IP address (within the same local network if the device is behind NAT). However, if you have your own STUN server, this solution is not required.|warn}}
== '''Specific Features and Nuances of the Functionality''' ==
This section describes specific details and nuances of the functionality to help better understand its operating principles:
# Holding down the “Home” button on the remote disables “Kiosk” mode;
# Audio support is available starting from Android 10 and higher;
# Currently, remote control functionality is available even if the device status in the personal account is "off-line" (i.e., it should not be highlighted in green).
# The remote control process is partially independent from the client application, which provides certain advantages. For example: if the client application has crashed or does not start, remote control can be used to interact with the device — change system settings or install a new client application build to restore device functionality.
# If a broadcast does not start on the device, the file manager can be accessed via remote control.
# For proper operation of this functionality, the user must have root access on the device or the device firmware must be signed by the manufacturer. Most importantly, the network must be configured and access to the remote control microservice on the server must be available.
# On some devices, the virtual “+” and “-” buttons may not function. This is due to hardware limitations of the device. Volume can be adjusted in the personal account via the broadcast settings or using the physical remote control of the set-top box.
# When repeatedly pressing a button quickly, the device stores all presses but displays them with a delay. For example, if the user presses the up arrow five times, the device will perform all five actions but with a one-second delay after each step. This behavior is a limitation of Android OS.
# Some executable files located within the storage can be launched.
== '''Video Instruction''' ==
[https://www.youtube.com/watch?v=mRpz5flafXU Remote device control on Android OS]
== '''Final Result''' ==
The user understands and is able to use remote control on devices running Android OS.
== '''Demonstration Video''' ==
https://education_tutorial.hb.ru-msk.vkcs.cloud/Screencast%20from%2014.06.2024%2012%3A28%3A37.webm
https://education_tutorial.hb.ru-msk.vkcs.cloud/Screencast%20from%2014.06.2024%2012%3A28%3A37.webm
</div>

Версия от 09:57, 17 февраля 2026

Описание ситуации

очередным этапом развития платформы SmartPlayer является появление функциональности удалённого управления устройством на Android OS. Функционал позволяет управлять устройством не напрямую и управлять отображением контента.

Рекомендуется настраивать функционал с технически компетентным специалистом.

Preliminary Settings

To use the remote control functionality on a device, the user must go to the “Remote Control” settings category. In this category, find the parameter with the same name and switch it to “Enable”.

Example of displaying the “Remote Control” parameter in device settings
The “As in build” option is mainly used by technical support specialists.

Operating Principle

To use this functionality, the user must log in to the SmartPlayer personal account.

Next, the user needs to go to the "Devices" section of the personal account and find the required device.

Example of displaying the "Devices" section in the personal account and an on-line device.

After clicking on the device, a toolbar will open on the right side of the screen. In this toolbar, find the line "Device Control".

Example of the right-side toolbar with the required "Device Control" parameter.

After clicking "Device Control", a window will open displaying the device screen and a virtual remote control.

Example of a broadcast displayed on the device with a virtual remote control.

Using the virtual remote, the user can interact with the device and perform the required actions.

Remote control also supports interaction not only via buttons but also via mouse clicks. In this case, actions can be selected by mouse click. The only exception is scrolling up or down, which is available only via the virtual remote buttons.

Virtual Remote Control

The virtual remote includes various buttons that affect device control. The remote contains the following buttons:

  1. "OK" button — confirms the selected action or moves to the next menu item (similar to the right arrow)
  2. Four-direction joystick (up, down, left, right) — allows navigation through device menu elements. Depending on the situation, it can: scroll, move to the next menu item, or return to the previous step
  3. "Back" button — returns to the previous menu item
  4. "Home" button — fully opens/closes the device settings menu
  5. Mute button — turns off the device sound
  6. “+” button — increases the device volume
  7. “-” button — decreases the device volume
Example of the virtual remote with buttons.

Device Management

Control icons have appeared in the upper-right corner of the device screen:

  • hide all windows — returns the user to the broadcast screen;
  • file transfer — modal window for exchanging files with the device;
  • terminal — modal window displaying device logs;
  • file manager — page with access to the device file system;
  • keyboard capture — activates the SmartPlayer keyboard for working with the device.
Example of device control icons

File Transfer

A special modal window that allows uploading files to the device memory.

The “File Transfer” button opens a modal window with the following parameters and information:

  • drag-and-drop area for file upload;
  • empty field for uploading a file via URL;
  • description of the functionality;
  • description of the final upload destination path.
Example of the modal window for file uploading

When sending a file, the upload progress is displayed.

Terminal

The terminal uses Shell commands. Single commands are executed once. If a command runs continuously (for example, ping), the output will be periodically displayed in the terminal window.

The terminal works as a modal window in the remote control interface and displays device logs. Using icons, it can be:

  • expanded to full screen;
  • minimized;
  • closed.
Example of the terminal in remote control

File Manager

The file manager is located within the device at a specific path corresponding to the external storage/flash drive name (this name can be found in the personal account under device information and then inserted into the path).

Example of displaying the path with the device name

.

Inside the file manager, the user can manage directories using icons located in the upper-left corner of the screen:

  • create folder — creates a new directory;
  • go up one level — moves to the parent directory;
  • refresh — updates the file manager and its contents;
  • home — returns to the remote control screen.
Example of file manager control icons

This page displays a list of files and folders located within the device storage.

Example of the file manager page

Different actions are available depending on the selected entity:

  • folders — rename, delete, download;
Example of actions for folders
  • regular files — rename, delete, download, run;
Example of actions for files
  • APK files — rename, delete, download, run, silent install (background installation);
Example of actions for APK files
  • multiple selected files — delete, download.
Example of actions for selected files
All files are downloaded in zip archive format.

Keyboard Capture

Activating keyboard capture enables capturing keystrokes — typed text is registered by the system and displayed on the screen. When activated, the system keyboard (default device keyboard) is replaced with the SmartPlayer keyboard.

To return to the system keyboard, click the globe icon at the bottom of the screen. When keyboard capture is disabled, text input in remote control mode is not possible.

Using the system keyboard is available, but text input is more complicated. Each character must be selected with a mouse click. Alternatively, text can be copied and pasted using keyboard shortcuts.

Example of the icon for returning to the default keyboard

Functionality Limitations

In its current implementation, this functionality has several limitations, namely:

  • Local servers only. If devices can ping each other via their local IP addresses, remote device control should work correctly.
In a local network where all devices are within the same subnet, remote control should function correctly. If, during usage within the local network, a device is located behind NAT, internet access is required to connect the devices. In this case, STUN servers are used to determine the external IP address (within the same local network if the device is behind NAT). However, if you have your own STUN server, this solution is not required.

Specific Features and Nuances of the Functionality

This section describes specific details and nuances of the functionality to help better understand its operating principles:

  1. Holding down the “Home” button on the remote disables “Kiosk” mode;
  2. Audio support is available starting from Android 10 and higher;
  3. Currently, remote control functionality is available even if the device status in the personal account is "off-line" (i.e., it should not be highlighted in green).
  4. The remote control process is partially independent from the client application, which provides certain advantages. For example: if the client application has crashed or does not start, remote control can be used to interact with the device — change system settings or install a new client application build to restore device functionality.
  5. If a broadcast does not start on the device, the file manager can be accessed via remote control.
  6. For proper operation of this functionality, the user must have root access on the device or the device firmware must be signed by the manufacturer. Most importantly, the network must be configured and access to the remote control microservice on the server must be available.
  7. On some devices, the virtual “+” and “-” buttons may not function. This is due to hardware limitations of the device. Volume can be adjusted in the personal account via the broadcast settings or using the physical remote control of the set-top box.
  8. When repeatedly pressing a button quickly, the device stores all presses but displays them with a delay. For example, if the user presses the up arrow five times, the device will perform all five actions but with a one-second delay after each step. This behavior is a limitation of Android OS.
  9. Some executable files located within the storage can be launched.

Video Instruction

Remote device control on Android OS

Final Result

The user understands and is able to use remote control on devices running Android OS.

Demonstration Video

https://education_tutorial.hb.ru-msk.vkcs.cloud/Screencast%20from%2014.06.2024%2012%3A28%3A37.webm