Setting up a kiosk mode for devices is usually a straightforward process. However, a few best practices, tips, and tricks will save you time along the way. Whether you want to start a remote session or get a bug report, this article will walk you through shortcuts that will make a kiosk device experience as painless as possible.
This guide focuses on Android device use cases.
In this article:
Adding Your Kiosk App to Esper
The first step when it comes to creating a kiosk-mode device is to upload or add the kiosk app to Esper.
Once you’ve added your app to Esper, you can add the app to a blueprint. That way, any devices provisioned with the blueprint will launch the kiosk app once installed.
Creating a Kiosk Mode Blueprint
Once your app is added to Esper, you can deploy that app to devices through a blueprint. In the Esper console, go to Blueprints Manager and Create a blueprint.
In Apps & Configuration, select Device Mode > Kiosk Mode. You’ll then be asked to select an application.
Select or upload the application.
Then, enable the kiosk app.
You’ll notice the Installation Rule will be automatically set to “During Provsioning” and the App State will be set to “Show”. You’ll also need to ensure these settings are required for kiosk mode applications.
If your kiosk app launches another app, ensure that the app is also added to the blueprint.
In this example, Google Maps is the kiosk app. Google Chrome is set to the show state, ensuring it will launch whenever the user opens a link in Google Maps. The user can return to Maps by using the navigation bar.
Tip: Enabling the Hidden Esper Settings Dock
The hidden dock is a shortcut to the Esper settings app. When enabled, it can be accessed even when the device is in kiosk mode.
The Esper settings app gives users access to Wi-Fi, volume, brightness, Bluetooth, and other settings.
You will probably have a reason to access these settings during the testing process, and might even need it when devices are deployed to the field. Learn more about the hidden dock.
To enable the dock, use a blueprint. Go to Esper Settings (in the blueprint) > and click on Customize Settings.
Then set the admin pin. You can disable all or most settings in User Mode and have them exclusively accessible behind the admin pin.
Even if a device user can enter the Esper settings app, they won’t be able to change settings without entering the admin PIN correctly.
Be sure to enable the Esper Settings app to maintain this functionality.
After configuring other settings, save and publish the blueprint. Then, converge devices to the blueprint, or provision a device with the blueprint.
Ensuring Smooth App Updates
A smooth update process is critical for devices in Kiosk Mode. We recommend testing applications on a few test devices before pushing updates to any devices that are in front of customers.
One way you could do this is to clone your current production blueprint and select the updated app. After you’ve pushed the update to a few of your devices and tested out various scenarios, you can deploy your update to the production fleet.
Troubleshooting Tips
Eventually, you may run into issues.
When that happens, you’ll want to temporarily make troubleshooting services available on the device. You can use all or some of these methods depending on the issues you experience.
Blueprint
When you run into an issue, we recommend creating a troubleshooting-friendly blueprint cloned from your current production blueprint.
The following blueprint settings are commonly used for troubleshooting:
Device Security > ADB Access: This setting allows technicians to connect a device to a computer which is useful for many troubleshooting scenarios.
Apps & Configuration > Device Mode > Multi-app Mode: This setting makes it possible for users to test other apps on the device and makes it possible to accept certain permissions.
Logs and Bug Reports
Generate device reports to share with your dev team (or ours).
Some devices require users to accept notifications before sharing a report. If your device user is unable to see the notification, you may need to exit kiosk mode by switching to multi-app mode.
Remote Viewer
Use Remote Viewer to see the device’s display. This is especially useful when devices are in the field.
Use kiosk mode to lock down devices to your app experience and protect devices from unwanted user interactions.
Creating a Kiosk Mode Template
You can create a kiosk-mode device by assigning a Template to that device.
To get started, go to Provisioning Templates and select Create Template.
Then, set the Compliance Policy. For example, some customers prefer to use the following settings for their kiosk apps:
- Lock Screen Password: None
- Default App Permissions: Allow automatically
- System Updates: Disable Update
An important feature we’ve selected is “App accessible only via hidden dock”. When Esper Settings is behind a hidden dock, that means our field agents will still be able to access and modify settings when interacting with the physical device. See how to access the hidden dock.
Then, click on Customize Settings App to open the setting selector.
In this section, you’ll be able to choose which users have access to the device settings. In this example, we’ve given Admins permission to view and modify these settings when interacting with the device. These settings are behind a password. In addition, we’ve hidden the Esper Settings app, so they’ll need to open it with the three-tap method.
Why so much security? We probably don’t want device users modifying the device’s settings. In the event that the device needs to be modified in some way, only a trusted individual will have permission to perform a reboot, change a Wi-Fi connection, or Factory Reset the device.
In the Settings section, we’ll set the permissions for the Esper Settings App.
Most of the compliance policy options are disabled. However, if your kiosk-mode app makes use of a camera or other device feature, enable it.
We’ve enabled adb access in the event that field agents can debug devices out in the field, but if you’d like to further strengthen security, consider disabling it.
You may see that the notification bar is disabled. When we want to request a bug report for the device (except Foundation devices), we’ll need to enable it via a compliance policy.
In the Application Management section, we’ve done the bulk of our application deployment work. We’ve selected Device Mode > Kiosk and we’ve added the application. When this template is applied to devices, the application will automatically install on those devices. In addition, it will remain in the “opened” or “launched” state.
In order to communicate with Esper, the device will need to be connected to the internet. This template uses Wi-Fi, but Ethernet settings are also available.
We’ve added a backup network in case devices lose connection with their primary network.
Other settings, such as display, branding, and sound are set up to facilitate our app experience. We’ve also enabled Remote ADB so that we can troubleshoot device issues without the need to be close to them.
In group settings, we’ve created a subgroup, Andi’s Kiosks, to organize these devices.
After previewing the template, press Save.
We now have a reusable template for our kiosk devices!
Deploying App Updates to Your Kiosk Mode Devices
Your kiosks are running great, but what happens when there’s an app update. Suddenly, you’re tasked with updating hundreds of devices in different stores. What do you do?
Esper offers a streamlined approach to app updates. Whether you need to install a new app, or uninstall a buggy version, you can use Pipelines to facilitate deployments. Learn more about Pipelines.
In this example, we’ve set up a pipeline that deploys to a couple devices before deploying to a larger Group. This ensures we can test the app update on a small group before deploying the update to a larger group.
Changing Device Settings
You’ve set up the template and deployed an app update. However, the new app version might need access to the camera, which wasn’t part of the template.
Applying a Compliance Policy
To update device settings, go to Compliance Policy in the console.
We’ve made the compliance policy just like the old one (don’t forget to customize the Esper Settings app), except we’ve enabled camera access.
After creating this policy, we’ll need to apply it to devices. In Devices & Groups, locate the group of devices tied to the kiosk template. Click on the ellipsis (...) and select Properties.
Then navigate to the Compliance Policy tab, search for the policy, and press Apply Policy.
The new policy will be applied to devices the next time they check in with Esper.
Applying Group Settings
What if we need to adjust the brightness for devices as well? In that group, we can go to the Settings tab.
Adjust the brightness and press Apply changes.
Changes will apply to all devices that are currently online. Click on See details to see specific error messages.
Troubleshooting Your Kiosk Mode Devices
Even with smooth deployments, it’s sometimes possible that devices will experience issues. Esper offers a range of troubleshooting options to diagnose devices, even when they’re out in the field. As long as the devices are actively communicating with Esper, you can troubleshoot them in the following ways:
- Remote Viewer
- Logs and Bug Reports
- Remote ADB
Remote Viewer Sessions
With Remote Viewer, you can view a device remotely, even if you’re not close to it physically. To start a session, search for the devices in Devices & Groups and go to the Remote Viewer tab for that device.
Start a session and observe the device. Device user approval is typically needed to start a session.
Logs and Bug Reports
You can also request a bug report to troubleshoot devices. Be sure that the device is ready to receive notifications and is changed to Multi-App mode. Read more about how to set up the device to enable a Bug Report.
Remote ADB
You can also turn on adb from a template or compliance policy. When you do, you allow your device to be accessed from the console, or via a cable plugged into a computer.
After applying the policy, be sure to enable adb for that device by going to its settings tab and enabling it there.
Read more about the requirements for using adb in the console or how to download the software tools to perform an adb session with an onsite device.
Android’s official documentation covers the methods and tools available during an adb session.
Exiting Kiosk Mode
There are several ways to exit kiosk mode. When a device exits kiosk mode, it switches to multi-app mode.
Blueprint
Switch to multi-app mode in a blueprint. Once devices converge, they’ll be in multi-app mode. Use this option for fleetwide changes.
Since a blueprint converge will overwrite any currently applied settings, use the following methods for temporary tasks.
Console
Switch to multi-app mode in the device’s or group's Settings section.
SDK and API
You can also change the mode through the API or SDK.