(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.data-privacy-src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-PF5R8F7');

Knowledge Base

Kiosk and Locked Mode

What is a Kiosk Mode?

With our Kiosk Mode & Locked Mode, you can use the CodeREADr app for online and offline ‘unattended’ scanning applications, such as attendance check-in, surveys, loyalty rewards, etc.

Also, it’s useful when you want to limit your users’ ability to only scanning and manual entry, and not expose other features.

On the Advanced tab, when creating or editing a Service, you will find the option to select ‘Kiosk Mode’. This allows you to password-protect access to the app’s settings and other features.

When you use this with Apple’s Guided Access, you can restrict the use of the iOS device to the CodeREADr app and disable the hardware buttons. For Android devices, you can use screen pinning. Then, optionally block the Back and Overview buttons.

To see unattended scanning you can view this short video. Need help setting up self-scanning? Check this blog post about the barcode scanning attendance app.

self scanning options

Note: This video was taken before the kiosk mode was available but it gives you a basic idea of how scanning works with QR Codes and RFID/NFC credentials.

What Does It Look Like?

First, the Admin sets up Guided Access in the device’s settings. Next, the Admin signs into the CodeREADr app with the credentials you’ve issued. Then, the admin will see the authorized service(s).

kiosk services

Admin then taps the appropriate Service which by default is in the kiosk mode. Notice the buttons for Manual Entry, Lookup, History, and Settings are removed as are the navigation buttons. The only action available to non-admin is to tap the screen to open the camera for scanning.

kiosk tap to scan

Admin can tap the lock icon to unlock the kiosk mode. They can choose a different Service, upload scans (if a manual upload is necessary), and access the app’s settings. By default, the app uses the rear-facing autofocus camera. However, you can select the front camera in the app’s settings after unlocking the kiosk mode.

kiosk keypad

Contactless Scanning with Kiosk Mode

This video shows an iPad set up in the Kiosk Mode. It is an ideal way to enable contactless self-scanning. Also in the video is an iPhone set up in the Kiosk Mode and scanning behind glass.

How to Set Up Kiosk Mode

On the Advanced tab, when creating or editing your Service(s), select the Kiosk Mode.

Then, copy the text from the example script and paste it into the form field, including the {} brackets. If you remove any string, remove it entirely. Also, keep the comma after the string EXCEPT for the last string.

Notes on the Example Script

  • Replace 1234 with whatever password you want the admin to use to unlock the kiosk mode.
  • If you don’t want the app user to tap Next but you want the app to stop at the kiosk mode’s Tap to Scan screen, enable Auto-Next Scan but include the “stop_auto_next” string in the kiosk modes form field. If you don’t have Auto-Next Scan enabled and you want the app to stop at the kiosk mode’s Tap to Scan screen, still include the “stop_auto_next” string in the kiosk modes form field.
  • Keep the “android_screen_pinning” string if you’ve enabled pinning on your Android device and want ‘pinning’ to start automatically.
  • If you want to use the default image (i.e. the finger-tapping image), remove the entire “webify” string. Otherwise, you can replace this string with a custom URL for branding purposes.
  • Use “manual_input” to enable app users to manually enter values in case they have the damaged barcode or NFC tag. If you don’t add this string, the default is no manual input.

Optional Branding Instructions

You can insert your own web URL in place of the default finger-tapping image. Then, you can present your logo (or your client’s logo) and instructional information at the kiosk. Also, you can have different logos and instructional information for each kiosk service you create.

Important considerations: 

  1. You need to have Internet connectivity to load the logo URL. Then, the iOS app will remember the content after it’s been online at least once. However, the logo URL will not load on the Android app without connectivity. Here are some examples of using HTML with Android devices.
  2. Avoid loading style or content dynamically with the logo URL because only static content will load when offline, even with iOS.

Device Options

While the Kiosk Mode can be used for both mobile and stationary applications, the most common use case is for attendee self-scanning with the device in a fixed position. The attendee simply holds their QR code credential (or barcode) to a frame within the front camera view.

The iPad has been a very popular device because the front camera scans well even without autofocus. However, there are also Android options to consider. We tested the Amazon Fire 7 tablet (9th generation) with surprising results for a $65 USD device. We found the front camera was able to quickly scan QR codes.

It was stable over a 5-day test period, even with the camera open for scanning the entire time. When the device auto-refreshed with our server, the camera was closed but restarting scanning was as simple as tapping the screen.

We simultaneously tested a convertible Lenovo Duet Chromebook with similar results. Scanning was fast and the device stable. The price we paid was $250 USD so it’s affordable. There are Chromebooks that will out-perform the Duet but they cost more.

To keep the Fire 7 from going to sleep we used a free, third-party app from the Amazon store that worked well. The Duet included that as an option in the device settings. We did not test Android Screen Pinning but there are several apps for that.

For mounting either device, there are many options. The hardware shown in the photo below can optionally be mounted to a surface with screws and it has a locking key for the Fire 7 itself.

Mounted Tablet

Important Settings

SD PRO Scan Engine

The SD PRO camera scanning engine is required for reliable scanning with the front camera. If your account isn’t set up with SD PRO you should upgrade.

Auto Sign Out

The app will auto-sign out your app user under these conditions:

  1. The app is in sleep mode for 4+ hours.
  2. The device loses power.

With iOS devices, you can configure Guided Access to set the device so it never enters the sleep mode. With Android, we added an option in the app’s settings called “Keep Screen On” because not all device makers offer an unlimited option like iOS. If that in-app setting doesn’t work for you, try downloading an app from Google Play and test with your devices We tested the app Keep Screen On and it worked on our test devices.

If signed out of the app, the app-user will need to sign in again. The app will save the sign-in credential if the user checks ‘Remember Me’.

Also, if the app-user has a single Service assigned and no service Description, upon sign in, the app will auto-open the assigned service. Thus, it keeps the app-user from signing into the wrong service.

Refreshing Services

If the device doesn’t enter the sleep mode and is not off, you don’t have to refresh it. Because the Kiosk Mode is sometimes ‘always on’ and often unattended, the app will refresh services every 24 hours if there’s Internet connectivity. Internet connectivity is important because the app needs to connect to our server at least once every 5 days to reset the token. Note that if the camera is left on all the time, the reset will close the camera. To reopen the camera simply tap the screen’s “finger” screen.

Customizing the Response View

There are several ways to customize the response screen for your specific application.

  • The Alter Response feature allows you to change what is presented after a scan. You can use text or HTML for the response.
  • The Custom Response feature allows you to rename labels, hide labels, and change colors.

Using these options will improve the user experience.

Other Considerations

While using the Kiosk Mode, you should disable automatic app-store updates, OS updates, and any other processes that could interrupt the use of the CodeREADr app when in the Kiosk Mode. If the device is not active for extended periods, on the Advanced step you can configure the service to close the camera after each scan and return to the main Tap to Scan screen. For instance, include the “stop_auto_next” string in the Kiosk Mode setup as shown above.