Deploy with Jamf Pro

Push Billboard to a fleet of Apple TVs with Jamf Pro and configure each screen automatically with App Configuration.

With Jamf Pro you can install Billboard on every managed Apple TV and point each one at the right gallery automatically, so no one has to type a code on the TV. This works through Managed App Configuration: Jamf delivers a set of key/value settings that Billboard reads on launch.

Before you start: your Apple TVs must be supervised and enrolled in Jamf Pro, and Billboard Screen must be added to your Jamf app catalogue (via Apple Business Manager / Volume Purchasing). The app's bundle identifier is app.BillboardScreen. If you'll lock screens with Single App Mode, first prepare each Apple TV's screen saver, sleep and update settings — see Prepare the Apple TV first.

1. Add the app

  1. In Jamf Pro, go to Devices → Mobile Device Apps and add Billboard Screen from the App Store / your VPP content.
  2. Set the Distribution Method to Install Automatically and scope it to the Apple TVs (or a smart group) you want.

2. Configure the app

On the app record, open the App Configuration (also called Managed App Configuration) field and paste an XML property list. At minimum, set the manifest URL for the gallery this group of screens should show.

<dict>
    <key>dataURL</key>
    <string>https://getbillboard.app/m/ABCD2345</string>
    <key>deviceName</key>
    <string>$DEVICENAME</string>
</dict>
  • Replace ABCD2345 with your gallery code (letters and numbers only, no dash), shown on the gallery's Connect tab. The full manifest URL is always https://getbillboard.app/m/<CODE>.
  • $DEVICENAME is a Jamf variable that inserts each Apple TV's own name, so the AirPlay card and your dashboard label it correctly per screen. This one is optional.

That's all most rollouts need. Everything about how the screen looks is set in your Billboard dashboard, not here (see below). Scope one app record per gallery when different rooms need different content.

3. Deploy

Save the app record. Jamf installs Billboard on the scoped Apple TVs and delivers the configuration. On launch the app reads dataURL and goes straight to the slideshow, skipping the welcome screen entirely. Change the gallery code in Jamf later and the screens follow on their next check-in.

Where settings actually live

It's worth being clear about this, because it saves a lot of duplicated work:

  • The gallery's content and look — media, image timings, AirPlay panel text, Wi-Fi step, tint, opacity, clock, notices — are configured in your Billboard dashboard. They travel to every screen inside the gallery's manifest automatically. You do not re-enter any of this in Jamf.
  • Jamf's job is simply to point each screen at the right gallery with dataURL (and, if you like, name it with deviceName).

So a normal App Configuration is just those one or two keys. There's no need to list panel or clock settings here.

Advanced: overriding a setting per device or site

Managed configuration values take priority over the gallery's manifest. You only need this when some screens must differ in a way a single shared gallery can't express — the classic case is the same content gallery across several buildings that each have a different Wi-Fi network name. Set these per device group in Jamf and they win over the dashboard:

KeyTypeUse it to…
deviceNameStringName each screen individually (Jamf: $DEVICENAME).
airplayWifiNetworkStringShow a per-site Wi-Fi network name on the AirPlay card.
airplayViewHideBooleanHide the AirPlay panel on specific screens.
dataCheckTimerIntegerChange how often (seconds, minimum 10) a screen checks for updates.

For anything else — panel text, tint, opacity, clock, notices, video behaviour — set it once in the gallery instead. It's simpler and it applies everywhere that gallery is shown. The same keys work in any MDM, including Intune.

Troubleshooting

  • The TV still shows the welcome screen. The app didn't receive dataURL. Confirm the App Configuration is saved on the app record, the device is in scope, and the value is valid XML. Re-push the app config from Jamf.
  • Wrong content on a screen. Check the gallery code in dataURL matches the gallery you intend, with no dash and no trailing spaces.
  • Screens are slow to update. Lower dataCheckTimer, but remember a very short interval increases network traffic across a large fleet.
Was this page helpful?

Related articles

Didn't find what you needed? support@getbillboard.app