RDS
Digital Signage RDS — Documentación
ES EN CA FR PT

Devices

The Devices tab lists every screen linked to your company.

List columns

Column Meaning
Status Green / red icon depending on whether the agent has recently heart-beat
Name / ID Device_USERNAME_RDSXXXX and its short RDSXXXX code
Company / branch Who owns it and where it is
Playlist status "Downloading", "Download finished", "Playing", "Not started" (tooltip on hover)
Last heartbeat Last time the agent talked to the server
Coverage Connection quality reported by the agent (where applicable)
Actions Dropdown menu with operations

Filters

By company, branch, date, or free text (searches name, RDSXXXX, location, department). Filters persist as you navigate.

"Actions" menu

Each row has two dropdowns:

Actions (user)

Admin (Promotienda only)

Internal support actions: manual enable/disable, withdraw, connect, attend incident, etc.

Adding a device

"+ Add" button in the top-right.

Important: a newly created device exists only in the panel. To play content you need to install the agent on the hardware and pair it with the assigned ID. If you bought the device from Promotienda this is already done.

Buying a device

"Buy device" button. Opens the catalogue with the option to ship directly to your premises with the playlist and WiFi preconfigured. Includes 1 year of free RDS licence.

More details here.

Shipment status

When you buy devices from the catalogue, during the shipping period they appear with a "Shipment pending" label and the user actions are disabled. Promotienda marks them as shipped when they leave the warehouse — at that point the actions re-enable and you receive a notification email.

Device card information

Hovering over a device opens a card with its real-time data. Relevant rows:

Row Meaning
IP Last public IP seen by the server
Version Installed agent version (EOL badge if below the minimum supported: 2.0.0 on Android, 1.0.0 on Linux)
Coverage Connection quality reported by the agent
Model Hardware model. Android: Build.DEVICE (e.g. emu64xa, RMX2061). Linux: DMI name (VirtualBox, ThinkPad X1, etc.)
Android Android version (Android agents only)
OS OS distribution and version (Linux agents only, read from /etc/os-release. E.g.: Debian GNU/Linux 13 (trixie))
Uptime Time since last boot. Useful for spotting unexpected reboots
Last heartbeat Time of the last heartbeat received

The Android agent uses SystemClock.elapsedRealtime() (includes deep-sleep time). The Linux agent reads /proc/uptime.

Screenshots

From Actions → Screenshot you can ask the device for a JPEG of what it is showing on screen at that moment. Works on Android and Linux.

How it works

  1. Pressing the option opens a modal dialog with a spinner and the message "Screenshot requested. Waiting for device…". The grey counter shows elapsed seconds.
  2. The server marks the request (screenshot_pending=1) and injects it as a flag in the next heartbeat response to the agent (≤ 60 s).
  3. The agent:
    • Linux captures with scrot from display :0 (everything visible, including the WebKit browser of kiosk mode or the playlist player).
    • Android captures with PixelCopy the foreground Activity window (PlayerActivity or KioskBrowserActivity). This includes GPU-accelerated WebView/Surface content.
  4. The JPEG (quality 70, ~150-400 KB typical) is signed with HMAC-SHA256 v2 and POSTed to /suport/upload_screenshot.php.
  5. The server verifies the signature, saves the image as /screenshots/<num_serie_gprs>.jpg (always only one image per device, overwritten), clears the flag and stamps screenshot_at.
  6. The dialog, polling every 4 s, detects the new image and replaces the spinner with a clickable preview (opens the original image in a new tab).

Timing and retries

Privacy and permissions

Viewing the image later

If you close the dialog, the last capture is still accessible: