Kiosk Browser/Launcher Built in Browser is built on a standard Android component called a webview, in Android versions lower than 4.4 KitKat the Webview is based on the WebKit engine built into Android, therefore its compatibility range is not as great as Chrome.
In Android 4.4 the Webview engine is based on Google Chrome (v33 or v34 when running Android 4.4.3). Android 5.0 Lollipop introduces Chrome engine updates through Google Play meaning you will not have to update the device OS to access new web API's such as WebRTC, WebGL, etc.
From Android 5.0, Android 6.x, Android 10.x, and Android 11.x, you can update the Webview via Google Play, please see our article relating to potential issues behind WebView updates.
WebView in Android 7.0 to Android 9.x, Chrome version 51
Starting in Android version 7.0 to Android 9.x, and Chrome version 51, the Chrome APK is used to provide and render Android System WebViews. This improves memory usage on the device and also reduces the bandwidth required to keep WebView up to date (as the standalone WebView APK will no longer be updated as long as Chrome remains enabled).
You can choose your WebView provider by going to Settings > Admin > WebView Implementation. You can choose between any compatible Chrome version (Dev, Beta or Stable) that is installed on your device or the standalone Webview APK to act as the WebView implementation. If Chrome is not installed, your WebView implementation will fall back to the default WebView engine.
The above will generally only apply to Google certified devices, known as GMS. Any mainstream manufacturer of Android devices (e.g. Lenovo, Samsung etc.) will be GMS Certified, meaning they follow strict hardware/software requirements in order to be shipped with Google Play Store, and all the usual apps (and system apps) that the Android experience usually consists of.
Many of the 'generic'/unknown devices on the market, are not GMS Certified and therefore will be shipped by the manufacturer with outdated Webview versions, that cannot be updated without a system update from the manufacturer. If you are using a device that is not GMS certified, and your page is not being rendered correctly or performing poorly, this would be outside of our control and in most circumstances we find that this is because the device has an outdated Webview.
If you check Kiosk Browser Settings >> About >> User Agent - you will see a string that looks like this: Mozilla/5.0 (Linux; Android 11; SM-T500 Build/RP1A.200720.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/93.0.4577.62 Safari/537.36. The Webview version number is shown after the "Chrome/" part of the string. Chrome 93.x is a recent version of the Android webview.
As an example, if you saw here Chrome/39.x.xxx, the device is running a Webview version that is the equivalent of viewing your webpage using 7+ year old web technology (Chrome 39 being released in 2014). Therefore if the page you are displaying is using web technologies released after this, it is likely that the page will not be displayed properly, if at all.
If your are using the Kiosk Launcher app and "Built in Browser", you can find the Webview string under Kiosk Launcher Settings >> Browser >> User Agent.
With the above in mind, we strongly recommend using only GMS certified devices as Kiosks, there are workarounds available to run a later Webview version (not provided by us at Kiosk Browser) however these require a high-level technical knowledge of Android to implement.
Note: it is not possible to change between the WebView Implementation prior to Android 7.0.
Debugging WebViews is the same as debugging a web page through remote debugging - please see the Google Developers article on this if you are unfamiliar: remote debugging.
WebView debugging is enabled within Kiosk Browser/Launcher. You should use DevTools within Chrome to debug WebView content in Kiosk Browser/Launcher.
The chrome://inspect page displays a list of debug-enabled WebViews on your device.
To start debugging, click inspect below the WebView you want to debug. Use DevTools as you would for a remote browser tab.
You can find more information on debugging WebViews on Google Developers page here: https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews
Updated on: 15 / 09 / 2021