Kiosk & Locked Mode

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

It’s also useful for applications where you want to limit your app user’s ability to only scanning and manual entry (option), and not expose them to any other in-app 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 used in combination with Apple’s Guided Access feature 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 and optionally block the Back and Overview buttons if you feel it’s necessary.

On-site setup

  1. Admin set’s up Guided Access in the device’s settings.
  2. Admin signs into the codeREADr app with the credentials you’ve issued. They are presented with one or more authorized Services.

kiosk services

3. Admin 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

4. 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 is set up to use the rear-facing autofocus camera. Use of the front camera can be selected in the app’s settings after unlocking the kiosk mode.

kiosk keypad

To see unattended scanning you can view this short video. [Note: this video was taken before the kiosk mode was available but it gives you the basic idea of how scanning works with QR Codes and RFID/NFC credentials.]

Need help setting up self-scanning? – please look at this blog article

Creating the Service

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

Important: Copy the text from the example script and paste it into the form field provided, including the {} brackets. If you remove any string be sure to remove it entirely and keep the comma after the string EXCEPT for the last string.


Here’s kiosk mode text to copy and paste into the Advanced step’s form field.

– Required: Replace 1234 with whatever password you want the admin to use to unlock the kiosk mode.

– Optional Branding and Instructions. You can insert your own web URL in place of the default ‘finger-tapping’ image. In this way, you can present your logo (or your client’s logo) and instructional information to the person at the kiosk. You can have different logos and instructional information for each kiosk service you create.

Important considerations: 1) There needs to be Internet connectivity to load the URL. The iOS app will remember the content after it’s been online at least once; the URL will not load at all on the Android app without connectivity. 2) Avoid loading style or content dynamically with the URL because only static content will load when offline, even with iOS. If you want to use the default image (i.e. the ‘finger-tapping’ image) then remove the entire “Webify” string.

– By default, the app user will be required to tap the response screen’s ‘Next’ button after a scan and then tap the ‘Tap to Scan’ screen to open the camera. However, if you enable the Auto-Next Scan option on the Advanced tab when creating your services, the app will automatically open the camera view after each scan. 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, then 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, then you still need to include the “stop_auto_next” string in the kiosk modes form field.

– If you’ve enabled pinning on your Android device and you want ‘pinning’ to start automatically when the service is used, then keep the “android_screen_pinning” string.

– Use “manual_input” to enable app users to manually enter values in case the barcode or NFC tag is damaged. If you don’t add this string the default is no manual input.

Important Settings

A. Auto Sign Out

The app will automatically sign out your app user under these conditions:

  1. The app is in the 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 the app user is signed out of the app, they will need to sign in when they need to use the app again. The sign in credentials are saved if “Remember Me” is checked.

Note: We plan to add the ability for the app to remember it’s prior state before an intentional or unintentional sign-out. Check with support to see when this will be available if you need that option.

B. Refreshing Services

The app needs to connect to our server at least once in every 5 days to reset the token. To accommodate that, the Kiosk Mode will refresh services automatically every 24 hours provided there’s Internet connectivity (network or Wi-Fi).

C. Other considerations

You should disable automatic app updates.

in Services