Skip to content

Providers Overview

A provider is a driver class that translates Kiosk Admin’s internal command model into the specific HTTP calls (or MQTT messages) that a particular kiosk app understands.

How it works

Every device is assigned a provider when it is added. The dashboard reads each device’s provider to decide which controls to show — controls for capabilities the provider doesn’t support are hidden automatically.

Dashboard → POST /api/devices/{id}/command → KioskProvider.sendCommand()
┌────────────────────┼────────────────────┐
FullyKiosk FreeKiosk FullyCloud
local REST local REST api.fully-kiosk.com
port 2323 port 8080 (cloud relay)

Supported providers

ProviderConnectionAuth
Fully Kiosk BrowserLocal REST on port 2323Password (required)
FreeKioskLocal REST on port 8080API key (optional)
Fully Cloudapi.fully-kiosk.comEmail + API key

Capability flags

Each provider exposes a static capabilities object. Kiosk Admin reads these flags to gate the UI:

FlagControls gated
hasScreenControlScreen on/off, force sleep
hasUrlControlLoad URL, refresh, clear cache
hasScreensaverStart/stop screensaver
hasTTSText-to-speech
hasVolumeVolume slider
hasScreenshotScreenshot panel
hasCamshotCamera capture
hasMediaPlayerAudio/video playback
hasMaintenanceReboot, overlay message
hasAppLauncherLaunch app, send to background
hasInjectJSJavaScript injection
hasKioskLockKiosk lock/unlock
hasRemoteControlD-pad + keyboard remote
hasAppManagementClear app data, kill processes
hasFileManagementFile transfer
hasApkManagementAPK install/uninstall
hasTabManagementMulti-tab management
hasLogViewerDevice log stream
hasMqttCommandsRoute commands through MQTT

Adding a custom provider

See Adding a Provider for a step-by-step guide.