Remote Update Only Settings
The following settings are not frequently used and most are available only to troubleshoot or workaround a specific issue.
To prevent clutter in the app's settings menus, these settings can only be updated from their defaults through a Remote Settings Control update or Managed App Configuration update.
In this article
- Generate Unique iPad ID Remotely
- Use Native PDF Library
- Disable System Save & Autofill of Contacts & Passwords
- Allow Tabbing Between Inputs in UIWebView
- Reload Browser After Sleep
- Disable All Internet Monitoring
- MercuryPay Server List
- Autofill Delay
- Allow UIWebView Alerts
- Remote Management Server Event Logging > Server Version Incompatibility Detected
- Delay Presentation
- Failed Request Log Availability
- Custom America Printer Settings
Generate Unique iPad ID Remotely
Supported in
Assign a Unique iPad ID to a device remotely if, for example, you deployed kiosks without setting a Unique iPad ID in Kiosk Pro settings or if you accidentally wiped a Unique iPad ID with the remote settings .xml file.
Step 1: Update your Remote Settings XML
Add the following key-value pairs to your remote settings .xml file (or if you are using a fresh .xml template, uncomment both pairs by removing the <!--
and -->
that surround this set of <dict>
tags).
<dict> <key>Key</key><string>kp_setting_command_generateKioskID</string> <key>Value</key><string></string> </dict> <dict> <key>Key</key><string>kp_setting_command_sendContextInfo</string> <key>Value</key><string></string> </dict>
These <key>Value</key><string></string>
keys are unique in that they do not need a value between the <string>
tags to work correctly.
Upload the amended file to the correct location on your servers.
Step 2: Generate the new ID
When Kiosk Pro downloads the .xml file and sees the ‘kp_setting_command_generateKioskID’ key-value pair, it will immediately check to see if a Unique iPad ID is set in the app’s settings.
If a value is found, the app does nothing. If no value is set for Unique iPad ID, the app generates a unique identifier based on the Apple key ‘identifierForVendor’ and saves it as the Unique iPad ID, which will look something like: 3B9C1105-73EB-4147-8D6A-B4317DB2E701
.
Step 3: Identify the Device
To help you identify the kiosk based on its new ID, the second key-value pair, 'kp_setting_command_sendContextInfo', instructs the kiosk to generate an email including general information about the device like the device model and current IP address.
If Update Location Coordinates Automatically has been set to something other than 'Never' and the iOS alerts to confirm that the app should be allowed to access the device’s location are approved, the app will also be able to include detailed location data in the email.
Valid SMTP settings for remote alerts must be configured in Kiosk Pro settings for the email to be sent.
This key-value pair will generate an email for every kiosk, not just ones that have had the Unique iPad ID automatically generated. To prevent overuse of SMTP relays, we only generate this email once.
To generate a second email, you would need to manually exit and relaunch the app while it is still pointing at the .xml file containing this key. To prevent random emails when the app is relaunched, we recommend including these key-value pairs in your .xml file only when specifically needed, and either removing or commenting them out otherwise.
If the information included in the email is not enough to identify the device and you have someone on-site, you can ask them to exit Kiosk Pro, open the device’s main settings (with the silver gear icon), and scroll down the left panel until they see the app’s icon, which includes a non-editable field displaying the Unique ID that’s been set. Alternately, if you have the app set to send email alerts for power supply change, you could have them unplug a kiosk to generate an email that includes that specific device’s Unique ID.
Step 4: Replacing the Generated ID
Once you’ve identified the kiosk, you can replace the generated ID with one that is more helpful in identification using the remote settings .xml file.
To do this, add the following key-value pair to the .xml file for each kiosk you need to change:
<dict> <key>Key</key><string>uniqueiPadID</string> <key>Value</key><string>NewUniqueID</string> <key>ApplyTo</key><array><string>GeneratedUniqueID</string></array> </dict>
So for a kiosk with a generated unique ID of ‘3B9C1105-73EB-4147-8D6A-B4317DB2E701’ that you want to rename ‘Library 1’:
<dict> <key>Key</key><string>uniqueiPadID</string> <key>Value</key><string>Library 1</string> <key>ApplyTo</key><array><string>3B9C1105-73EB-4147-8D6A-B4317DB2E701</string></array> </dict>
Use Native PDF Library
Supported in
Use the native PDF viewer built into the current Browser Engine to display PDF documents. If enabled, this prevents the use of any of the app's other PDF Display features.
Default Value: Off
This setting can be toggled without affecting other app settings by using the following XML files with Remote Settings Control:
- https://docs.kioskgroup.com/useNativeBrowserPDFViewer-on.xml
- https://docs.kioskgroup.com/useNativeBrowserPDFViewer-off.xml
This can also be triggered on an individual PDF file using the 'kp_useNativeBrowserPDFViewer' URL parameter when linking to a PDF.
Values for Remote Settings Control & Managed App Configuration
Key | kp_useNativeBrowserPDFViewer |
Key Type | boolean |
Default Value | false |
Disable System Save & Autofill of Contacts & Passwords
Supported in
This setting controls whether the iOS/iPadOS system AutoFill popup is displayed when tapping on text input fields. This Autofill context menu allows visitors to save and access system Contacts and Passwords - as such it can be a vulnerablity in the context of a public kiosk.
Default Value: On
Availability: This setting (and the associated context menu) is only available on iOS 17 and later.
When enabled (as it is by default), the AutoFill popup menu will not appear, enhancing privacy and security in kiosk environments. When disabled, the standard iOS/iPadOS AutoFill functionality will be available.
This setting can be toggled without affecting other app settings by using the following XML files with Remote Settings Control:
- https://docs.kioskgroup.com/kp_disable_UIMenuAutoFill_on.xml
- https://docs.kioskgroup.com/kp_disable_UIMenuAutoFill_off.xml
Note: This setting is not available in Kiosk Pro Lite as it does not support remote updates. In Lite, this behavior defaults to Off.
Values for Remote Settings Control & Managed App Configuration
Key | kp_disable_UIMenuAutoFill |
Key Type | boolean |
Default Value | true |
Allow Tabbing Between Inputs in UIWebView
Supported in
Toggle to ability to tab between input fields in a form. This setting compensates for a bug with UIWebView introduced in iOS 8 where quickly tabbing through form fields can cause the app to crash.
Default Value: On
Values for Remote Settings Control & Managed App Configuration
Key | kp_enableDropdownsForiOS8 |
Key Type | boolean |
Default Value | true |
Reload Browser After Sleep
Supported in
This setting fixes an issue with the WKWebView browser crashing from low memory while the app is inactive (for example, if the screen is turned off).
While the app is in an inactive state, iOS does not send notifications of WKWebView crash so the app is unable to automatically reload as it otherwise would. As there are other conditions that make the app inactive (such as showing the Control Panel to connect to AirPlay or adjust volume), we're unable to simply automatically reload every time the app makes this type of shift.
Default Value: Off
When the app shifts from an inactive state to an active state (as when the screen is turned on again), Kiosk Pro will check to see if a title is defined (to confirm if a page is being displayed instead of a blank screen due to a potential crash), and if not, Kiosk Pro will reload the homepage. Since we can't assume that a page always has a title, this setting is turned off by default.
This setting can be toggled individually by using the following XML files with Remote Settings Control:
- https://docs.kioskgroup.com/reload-webview-on.xml
- https://docs.kioskgroup.com/reload-webview-off.xml
If your content does not have a <title>
element set in the header of every page, or if the screen freezes/is unresponsive after coming back from an inactive state, you can use the following XML files to always reload the homepage:
Values for Remote Settings Control & Managed App Configuration
Key for reloading based on page title | kp_reloadBrowserAfterSleep |
Key for always reloading | kp_reloadBrowserAfterSleepIfPageTitleUndefined |
Key Type | boolean |
Default Value | false |
Disable All Internet Monitoring
When displaying content that requires a network connection to load and that connection is unavailable, Kiosk Pro will periodically attempt to reload pending successful page load. This setting disables all automatic attempts by the app to reload if a connection is lost.
Default Value: Off
This setting can be toggled individually by using the following XML files with Remote Settings Control:
- https://docs.kioskgroup.com/disable-internet-monitoring-on.xml
- https://docs.kioskgroup.com/disable-internet-monitoring-off.xml
Values for Remote Settings Control & Managed App Configuration
Key | kp_monitorInternetAccessWhenIdle_totallyDisabled |
Key Type | boolean |
Default Value | false |
MercuryPay Server List
Supported in
This list defines the server URLs Kiosk Pro attempts to contact when sending a transaction through the MercuryPay API.
Important: Do not alter this list unless specifically instructed to do so by Kiosk Pro or MercuryPay’s support team.
Default Value: w1.mercurypay.com/ws/ws.asmx;https://w2.backuppay.com/ws/ws.asmx
Values for Remote Settings Control & Managed App Configuration
Key | mps_server_list |
Key Type | string |
Default Value | w1.mercurypay.com/ws/ws.asmx;https://w2.backuppay.com/ws/ws.asmx |
Autofill Delay
Supported in
Add a delay after the page load event is triggered before the app attempts to fill any Autofill credentials. This is useful in situations where fields are dynamically generated or otherwise not available immediately on page load.
Default Value: 0
Unit of Measure: seconds
A 0.5-second delay, which is generally long enough to avoid the issues cited above, can automatically be configured by using the following XML file with Remote Settings Control:
Values for Remote Settings Control & Managed App Configuration
Key | kp_autofilling_injectionDelayInterval |
Key Type | string |
Default Value | 0 |
Allow UIWebView Alerts
Supported in
Prevent alerts designed to notify you of UIWebView's removal deadline.
Default Value: On
Values for Remote Settings Control & Managed App Configuration
Key | _kp_isUIWebViewRemovalWarningAllowed |
Key Type | boolean |
Default Value | true |
Remote Management Server Event Logging > Server Version Incompatibility Detected
Supported in
Triggers error logging when the version of the remote management server in use is determined to be incompatible with the app.
Default Value: None
Values for Remote Settings Control & Managed App Configuration
Key | logServerVersionIncompatibilityDetected |
Key Type | integer |
Default Value | 0 |
---|---|
Possible Values |
|
Delay Presentation
Supported in
Delay loading content when the app is launched. This setting is specifically for users remotely restarting devices in Single App Mode or Autonomous Single App Mode to allow the iPad time to negotiate a WiFi and/or a cellular connection prior to attempting to load content, which could otherwise result in a ‘No Internet’ error.
- Default Value: 0
- Unit of Measure: seconds
Values for Remote Settings Control & Managed App Configuration
Key | kp_warmingUpDelay |
Key Type | integer |
Default Value | 0 |
---|
Failed Request Log Availability
Supported in
Automatically clear the Failed Request Log after a set amount of time. Clearing logs after some time is recommended to prevent large log files from building up when troubleshooting.
- Default Value: 2592000 (30 days)
- Unit of Measure: seconds
Values for Remote Settings Control & Managed App Configuration
Key | kp_failedRequestLog_maximumEventLifetime |
Key Type | string |
Default Value | 2592000 |
---|
Enable Custom America Printer
Note: This feature was deprecated in version 10.0, meaning that we no longer offer support for it.
Included in Kiosk Pro Enterprise
Kiosk Pro Enterprise includes support for certain Custom America thermal kiosk printers. The app supports printing text, images, several types of UPC barcodes, QR codes, and basic .html.
Default Value: Off
Printing is triggered by the use of calls in our JavaScript API, which must be included in your page.
A list of supported Custom America printers is available here.
Kiosk Pro has been tested with the TG2480H connected via RJ45 Ethernet cable to Custom’s Bluetooth dongle.
Printing without the API
You can print without adding the API to your page by using either the JavaScript call window.print();
or the Print Icon in Kiosk Pro's Navigation Bar.
Values for Remote Settings Control & Managed App Configuration
Key | kp_customAmericaPrinterEnabled |
---|---|
Key Type | boolean |
Default Value | false |
Change Log
Added in 5.5 version.
Select Custom America Printer
Note: This feature was deprecated in version 10.0, meaning that we no longer offer support for it.
Included in Kiosk Pro Enterprise
Select from a list of Custom America printers that are currently connected to the iPad.
If your printer is not being shown, confirm that it is connected by going to iPadOS/iOS Settings > Bluetooth.
Default Value: Off
Change Log
Added in 5.5 version.
Word Wrap Page Width for Custom America Printer
Note: This feature was deprecated in version 10.0, meaning that we no longer offer support for it.
Included in Kiosk Pro Enterprise
Define the page width in characters of the printer and font being used for word wrapping.
Default Value: 33
This number will vary based on the printer model used, along with the print width and characters per inch set for that specific printer.
To find the print width and characters per inch currently set for the printer, you’ll need to check the printer setup.
To do this on a TG2480H, first unplug the device to power it down. Then, hold the line feed (LF) button down while plugging the printer in. As it powers up, it will print a summary of the current printer settings.
For other printers, please check the manual for instructions on how to print this diagnostic information. You can also modify the characters per inch setting for certain printers, increasing the printed font size; again for information on how to do this, please consult the manual. To find the manual for the model of printer you are using, check Custom America’s website.
Once you have these settings, you can calculate the approximate maximum characters possible for that page width.
For the TG2480H we used for testing, the printer setup page showed the following:
- Chars / inch: A = 11 B= 15 cpi
- Print Width: 76 mm
The ‘Chars / inch’ setting tells us that font A (generally the default) has 11 characters per inch (cpi) and font B has 15 cpi.
Convert print width (in this case, 76 mm) to inches (we used Google to convert -> 2.99213 inches) then multiply that by the cpi for the font you are using. In our testing, it was sometimes necessary to reduce this theoretical result by one or more to achieve correct word wrapping.
If we are using font A, this results in a maximum characters setting of 32 characters per line, which line-wrapped correctly when tested.
If we are using the more compact font B, this results in 44 characters per line, which in testing showed to be slightly too long (causing skipped lines in the resulting print job). Reducing this by two to 42 resulted in correct line wrapping.
To get a rough estimate for this setting without calculations, you can also consult the manual for your printer, looking for the ‘Character Specifications’ section which should include a table listing the ‘Number of Columns’ for each character density.
For the example above, the manual returned ‘35’ for the 11-cpi font A and ‘45’ for the 15-cpi font B. As shown above, both these would need to be reduced to achieve proper line wrap, but they are in the correct ballpark.
Values for Remote Settings Control & Managed App Configuration
Key | kp_customAmericaPrinter_pageWidthInCharacters |
---|---|
Key Type | string |
Default Value | 33 |
Change Log
Added in 5.5 version.
Heartbeat Tracking in RMS for Custom America Printer
Note: This feature was deprecated in version 10.0, meaning that we no longer offer support for it.
Included in Kiosk Pro Enterprise
Determine when the Custom America Printer status should be identified as "Offline" based on whether Kiosk Pro is connected via the JavaScript API.
Values for Remote Settings Control & Managed App Configuration
Key | kwc_heartbeatMonitoringOfCustomAmericaPrinter |
---|---|
Key Type | boolean |
Default Value | false |
Change Log
- Added in 7.1 version.