Skip to main content

Configure Player Profiles

A player profile is a reusable device-control template — rotation, volume, operating hours, kiosk mode, network/cache tuning and diagnostics — that you assign to one or many players. It controls the device, not what plays on it, and unlike a form that only records intent, most of it is actually enforced on the device the moment it connects.

Goal: create a player profile and assign it to a player. Who: an operator with player-profiles:create (and :update / :delete to manage, player-profiles:diagnostics for the Diagnostics section, players:update to assign). Prerequisites: none.

What a profile controls

A profile bundles settings across four sections:

SectionSettingMeaning
DisplayRotation0° / 90° / 180° / 270° — the physical output rotation, applied by the device.
Volume0–100%. Native video only — a Composer scene plays inside a WebView with no volume control.
Idle behaviourWhat shows when nothing is eligible: black (default) or hold the last frame.
OperationOperating hoursPer-weekday on/off windows for the device itself — closing one ends playout at the next spot boundary; re-opening resumes immediately.
Daily restartAn optional fixed time (HH:mm) for a soft restart (not an OS reboot).
Offline behaviourWhat the device does once disconnected past its grace period: keep playing from cache (default), show a connection notice, or go black.
NetworkConnectivity classStable / Metered / Poor — tunes parallel downloads, the Data Source poll interval and reconnect backoff together.
Cache budget & retentionDisk ceiling for the media cache, and how long an unused file may sit before it is swept.
Download windowWhen background media warming may run; never blocks a spot that is actually due.
DiagnosticsOverlay, log level, log ring sizeWhether the on-device diagnostics overlay can be opened at all, and how much it logs.
note

Operating hours control when the device is powered on for playout, not what runs. That is a different axis from the dayparting windows on playlists, booking flights, or pricing — those decide what content plays when on a device that is already inside its operating hours.

📷 Screenshot

the player profile editor: Display / Operation / Network / Diagnostics sections, each a card with its own fields. Owner captures later.

Create a profile

  1. Open Player Profiles (/player-profiles) and click New Profile.
  2. Display — pick rotation, set volume, and choose idle behaviour.
  3. Operation — set per-weekday operating hours in the dayparting-style grid (a weekday with no period is closed; an empty grid means always on), optionally a daily restart time and offline behaviour.
  4. Network — pick a connectivity class (the table under the selector shows exactly what it changes: parallel downloads, poll timing, both backoffs), a cache budget and retention window.
  5. Diagnostics — requires player-profiles:diagnostics; toggles the on-device overlay and its logging. This section rides its own request right after the profile is created, so a caller without this permission cannot create a profile with the overlay silently disabled.
  6. Click Create profile.

Verify: you land on the profile's Overview with a card per group; the Operation card reads Always on when no windows are set.

Player profiles have no active/inactive lifecycle — a profile is either present and assignable, or deleted.

Assign a profile to a player

Profiles are assigned per-device from the player, not from the profile:

  1. Open the player, go to Configuration → Player profile.
  2. Pick a profile from the dropdown, or — No profile — to unassign.
  3. Click Save assignment.

The same Configuration area also has Layout & Areas next to Player profile — both share one Save assignment action.

tip

A profile can drive many players at once — change its operating hours once and every assigned player picks it up on its next connect (or immediately, if already connected). Keep the profile's rotation matching the player's screen layout orientation, or areas placed for one orientation will misalign.

A closed operating window shows up in Fit, not just on the device

A booking checked against a player whose operating hours never overlap its flight surfaces a red "Screen off" chip in the fit verdict — ranked above Overbooked, because an overbooked player still delivers something and this one delivers nothing. The matching repair, narrow to operating hours, restricts the booking's dayparting to the window the screen is actually on. See Capacity and availability.

Check usage before deleting

A profile's Usage → Players section is a reverse where-used list of every player assigned to it. Check it before deleting a profile in service — deletion is permanent, and any player pointing at it needs a new assignment.

Gotchas
  • Brightness and Kiosk mode are still not enforced. Both are accepted and saved, but no player build today has a way to act on them — the device reports both back as unsupported. For a truly locked-down, dimmed screen you still need OS/MDM hardening (Android Lock Task, Windows assigned access, macOS Guided Access) alongside the profile.
  • Volume only reaches native video. A Composer scene plays inside a WebView with no volume control, so muting a profile has no effect on composition audio.
  • A daily restart is soft, not a device reboot. It tears down the app's connection and caches and starts over — it cannot power-cycle the hardware.