Skip to content

Deploy via EMM

An Enterprise Mobility Manager (EMM) is an IT platform that centrally manages a fleet of Android tablets — Intune (Microsoft), Jamf Pro, Esper, Scalefusion, and Samsung Knox are common choices. Once your Jonot apps are enrolled in your EMM via Managed Google Play, the EMM can push Managed Configurations to each device: key/value settings that the app reads at startup and whenever the IT admin updates them, without requiring a new APK build.

Before you can push configuration, your Jonot apps must be available in your EMM's app catalogue:

  1. Follow Google's Import an app from Google Play guide to add Jonot Kiosk and Jonot Desk to your Managed Google Play account.
  2. In your EMM, add both apps to the device profile you use for kiosk/desk tablets.
  3. The EMM automatically discovers each app's managed-configuration schema (defined in app_restrictions.xml inside the APK). No manual schema import is needed.

Both apps share the same keys, except for the URL override (kiosk uses kioskUrlOverride; desk uses deskUrlOverride). All keys are optional and default to empty unless noted.

  • pairingCode (string) — Auto-pair the device on first launch. The app injects the code into the SPA so staff do not type the 7-character pairing code on-device. Per-device — set a different value per tablet.
  • managerPin (string) — Centrally set the escape-hatch PIN. When set, the on-device first-run PIN setup dialog is skipped. Leave blank to let on-site staff set the PIN manually. Pushing a new value is also the recommended way to recover a forgotten PIN without touching the device.
  • allowEscapeHatch (bool, default true) — Set to false to disable the 5-tap top-right corner gesture entirely. Useful for high-traffic public kiosks where you want no escape route.
  • kioskUrlOverride / deskUrlOverride (string) — Advanced, staging/LAN only. Overrides the baked-in SPA URL (https://kiosk.jonot.io or https://desk.jonot.io). Leave blank for production.
  • apiOriginOverride (string) — Advanced, staging/LAN only. Overrides the baked-in API origin (https://api.jonot.io). Leave blank for production.

The exact UI varies by EMM, but the general steps are:

  1. In your EMM console, open the managed app configuration for Jonot Kiosk or Jonot Desk.
  2. The EMM renders the schema as a form. Fill in the keys you want to set; leave the rest blank to use defaults.
  3. Assign the configuration to your device group or individual devices.
  4. Push the configuration. The app receives it immediately if the device is online, or on next check-in.
  5. The app re-reads the configuration and applies it. URL and origin changes reload the WebView (effectively an app recreate) — any in-progress customer flow will be reset.
  • pairingCode: the pairing code from your Jonot admin dashboard for this device.
  • managerPin: your corporate IT PIN policy (or leave blank for on-site setup).
  • allowEscapeHatch: true for most deployments; false only if no on-site management access is ever needed.

You do not need the URL override keys for standard production deployments. Only set them if:

  • You are testing against a staging environment.
  • You have an on-premises offline host deployment (apps/host) on a local LAN.

If you set a URL override, also ensure the device's ALLOW_CLEARTEXT build config allows HTTP (for LAN URLs). This requires a custom build — the Play Store build always defaults cleartext to false.

  • Auto-pair (pairingCode): The code is injected into the SPA as window.__JONOT_MANAGED_PAIRING_CODE after each page load. The SPA reads this value on boot and completes pairing automatically. Pushing the same code to an already-paired device is a no-op. Pushing a different code on a device that was previously auto-paired will trigger pairing again.
  • Manager PIN (managerPin): Stored in the device's encrypted SharedPreferences under the same key used by the on-device PIN setup. Takes effect on the next escape-hatch tap. When set, the EMM-pushed PIN takes precedence and overwrites any on-device PIN on every app startup or config change.
  • Escape hatch (allowEscapeHatch): Applied immediately on config change — no restart needed.
  • URL/origin overrides: Applied on config change. The app reloads to the new URL — any in-progress customer flow will be reset.