Kiosk Launcher - Automatic Configuration JSON
The automatic config feature in Kiosk Launcher allows you to specify a Url (Settings > Advanced) where Kiosk Launcher will check for config changes every 15 mins. For example https://www.android-kiosk.com/klconfig.json This allows you to keep your devices configured consistently but also allows you to easily make changes. It also allows you to install and update applications silently.
The below list of properties is a complete list of all configuration properties. They are all optional, if you do not include a specific property, the default setting from Kiosk Launcher is used instead. If you have already configured a device with the required settings you can export your config to a JSON file stored publicly on our servers for 15 minutes. Go to Settings > Admin > Create Automatic Configuration File.
Please note that some fields require specific strings as detailed in the comments (comments must not be included in the final json as it does not support comments).
It's possible to clear a string property by just using an empty string "". Null can be applied to all of the sleep/wake/restart times
You can automatically activate licences via JSON property as per below:
You can define apps and urls to be displayed in folders, as per below. The folders object is an array, applictions & urls are also an array object.
By including the "install_apps" JSON array in your config file, you can deploy and update applications silently. Simply provide the package name, version code (integer) & URL and let Kiosk Launcher handle the rest. The version code is a specific version given to all APK files, we use this to determine if the most recent version is installed before downloading the apk. To get the version number (often referred to as versionCode) for a specific apk you can either ask your app developer or use our service to read the information from the apk https://www.android-kiosk.com/apkinfo.htm
The below list of properties is a complete list of all configuration properties. They are all optional, if you do not include a specific property, the default setting from Kiosk Launcher is used instead. If you have already configured a device with the required settings you can export your config to a JSON file stored publicly on our servers for 15 minutes. Go to Settings > Admin > Create Automatic Configuration File.
Please note that some fields require specific strings as detailed in the comments (comments must not be included in the final json as it does not support comments).
It's possible to clear a string property by just using an empty string "". Null can be applied to all of the sleep/wake/restart times
Licensing
You can automatically activate licences via JSON property as per below:
{
"licence_key": "12345"
}
Example String Properties
{
"custom_app_title": "My App Title",
"settings_password": "0000",
"wifi_settings_password":, "WiFiPassword",
"automatic_config_url": "https://www.myconfigurl.com",
"serial_number_source": "DEFAULT", //must be "DEFAULT" OR "RIL_SERIAL_NUMBER" OR RO_SERIAL_NUMBER" OR "SYS_SERIAL_NUMBER"
"default_app": "",
"visible_apps": "com.android.chrome,com.android.camera", //comma separated package names
"allowed_apps": "", //comma separated package names
"theme": "Cyan", //must be "Custom", "Blue" OR "Cyan" OR "Green" OR "Grey" OR "GreyOrange" OR "Orange" OR "Pink" OR "Purple" OR "Red" OR "Teal" OR "Yellow",
"background_colour": "#424242", //must be valid hex colour code
"toolbar_colour":" "#424242", //must be valid hex colour code
"navigation_bar_colour":" "#424242", //must be valid hex colour code
"app_text_label_colour": "#AAAAAA", //must be valid hex colour code
"screen_orientation""": "Not Set", //must be "Not Set" OR "LANDSCAPE" OR "REVERSE LANDSCAPE" OR "PORTRAIT" OR "REVERSE PORTRAIT"
"device_wake_time_sunday": "07:00", //must be valid time string or empty string to disable
"device_wake_time_monday": "", //must be valid time string or empty string to disable
"device_wake_time_tuesday": "", //must be valid time string or empty string to disable
"device_wake_time_wednesday": "", //must be valid time string or empty string to disable
"device_wake_time_thursday": "", //must be valid time string or empty string to disable
"device_wake_time_friday": "", //must be valid time string or empty string to disable
"device_wake_time_saturday": ", //must be valid time string or empty string to disable
"device_sleep_time_sunday": "20:00", //must be valid time string or empty string to disable
"device_sleep_time_monday": "", //must be valid time string or empty string to disable
"device_sleep_time_tuesday": "", //must be valid time string or empty string to disable
"device_sleep_time_wednesday": "", //must be valid time string or empty string to disable
"device_sleep_time_thursday": "", //must be valid time string or empty string to disable
"device_sleep_time_friday": "", //must be valid time string or empty string to disable
"device_sleep_time_saturday": "", //must be valid time string or empty string to disable
"app_restart_time": "19:00", //must be valid time string or empty string to disable
"device_reboot_time_sunday": "06:00", //must be valid time string or empty string to disable
"device_reboot_time_monday": "", //must be valid time string or empty string to disable
"device_reboot_time_tuesday": "", //must be valid time string or empty string to disable
"device_reboot_time_wednesday": "", //must be valid time string or empty string to disable
"device_reboot_time_thursday": "", //must be valid time string or empty string to disable
"device_reboot_time_friday": "", //must be valid time string or empty string to disable
"device_reboot_time_saturday": "", //must be valid time string or empty string to disable
"automatic_update_time": "23:00", //must be valid time string or empty string to disable
"custom_icon_base64": "", //image base64 to display as custom icon, max 256x256, example does not include base 64 value due to string length
"custom_background_base64": "", //image base64 to display as launcher background, must be JPG, example does not include base 64 value due to string length
"clear_data_apps": "com.android.chrome,com.android.camera", //comma separated package names to clear app data when app launcher is idle
"browser_home_page": "https://www.google.com",
"browser_user_agent: "DEFAULT", (DEFAULT, DESKTOP, CUSTOM)
"browser_user_agent_custom: "",
"browser_barcode_redirect_url: "http://www.mywebsite.com/stock?product=",
"browser_allow_list_urls: "google.com,duckduckgo.com",
"browser_block_list_urls: "",
"urls": "http://www.google.com;Google,http://www.duckduckgo.com;DuckDuckGo", //urls/links to display in the app launcher
"browser_search_provider_url": "https://www.google.com/search?q="
}
Example Boolean Properties
{
"disable_safe_mode": true,
"suppress_error_dialogs": true,
"multitap_settings": true,
"colour_navigation_bar": false,
"hide_system_dialogs": true,
"hide_status_bar": false,
"prevent_notification_access": true,
"keep_screen_on": true,
"prevent_screen_power_off": true,
"control_wifi_state": false,
"wifi_enabled": false,
"control_brightness": true,
"volume_controls_enabled": false,
"physical_media_enabled": false,
"always_wake_device": false,
"sleep_power_connect": false,
"sleep_power_disconnect": false,
"hide_toolbar": false,
"custom_icon": false,
"custom_background": false,
"allow_user_install_updates": true,
"show_reboot_device_menu": false,
"show_clear_app_data_menu": false,
"show_restart_app_menu": false,
"hide_menu_items": false,
"disable_lock_screen": false,
"bluetooth_enabled": true,
"auto_grant_permissions":false,
"browser_enabled": true,
"browser_default": true,
"browser_page_zooming": true,
"browser_overview_mode": true,
"browser_use_wide_viewport": true,
"browser_clear_cache_on_reload": false,
"browser_clear_web_storage_on_reload": false,
"browser_clear_cookies_on_reload": false,
"browser_clear_forms_on_reload": false,
"browser_ignore_certificate_errors": false,
"browser_reload_network_connect": false,
"browser_allow_list": false,
"browser_block_list": false,
"browser_use_device_back_button": false,
"browser_hide_alert_dialogs": false,
"browser_allow_uploads": true,
"browser_hide_toolbar": false,
"browser_show_address_bar": false,
"allow_search_from_address_bar": false,
"browser_show_home_icon": true,
"browser_show_refresh_icon": true,
"browser_show_back_icon": true,
"browser_show_forward_icon": true,
"browser_show_print_icon": false,
"browser_allow_intents": false,
"browser_allow_file_downloads": false,
"browser_clear_data_on_exit": false,
"browser_barcode_redirect_url_encode": false,
"enable_logging": false, //enables automatic logging for support purposes, not to be used unless directed by support
"open_links_default_browser": false,
"disable_factory_reset": false,
"show_recents_button": false,
"disable_usb_debugging": true
}
Example Integer Properties
{
"multitap_count": 4, //between 4 and 10
"display_timeout": 300, //time in seconds,
"screen_brightness": 0, //valid values between 0 and 255, 0 = automatic brightness,
"automatic_config_download_frequency": 18, //valid values between 15 and 1440 minutes
"app_icon_size": 48, //valid values between 16 and 256
"clear_app_data_idle_timeout": 5, //valid values between 0 and 10080 minutes
"default_app_launch_time": 10 //valid values between 2 and 3600
}
Folders
You can define apps and urls to be displayed in folders, as per below. The folders object is an array, applictions & urls are also an array object.
"folders": [
{
"name": "Empty Folder"
},
{
"name": "My Urls",
"urls": [
"https://www.bing.com;Bing",
"https://www.google.com;Google",
"https://www.duckduckgo.com;DuckDuckGo",
]
},
{
"name": "Google Test",
"applications": [
"com.android.chrome",
"com.google.android.deskclock"
],
"urls": [
"https://www.google.com;Google"
]
}
]
Installing/Updating Applications
By including the "install_apps" JSON array in your config file, you can deploy and update applications silently. Simply provide the package name, version code (integer) & URL and let Kiosk Launcher handle the rest. The version code is a specific version given to all APK files, we use this to determine if the most recent version is installed before downloading the apk. To get the version number (often referred to as versionCode) for a specific apk you can either ask your app developer or use our service to read the information from the apk https://www.android-kiosk.com/apkinfo.htm
"install_apps": [
{
"package": "com.procoit.projectcamera",
"version": 65,
"url": "https://kbremote.blob.core.windows.net/apk/current/com.procoit.projectcamera.apk"
},
{
"package": "com.company.app2",
"version": 10,
"url": "https://www.android-kiosk.com/com.company.app2.apk"
}
]
Uninstalling Applications
"uninstall_apps": [
{
"package": "com.procoit.kioskbrowser"
},
{
"package": "com.procoit.test"
}
]
Updated on: 30/05/2024
Thank you!