You have two main parts in the folder:
- IntelliProveWebView
- app
The rest are Android config files which nobody actually understands, or do they...? 🧐
The IntelliProveWebView folder is the actual SDK. Deep down its folder structure you'll find the IntelliWebViewActivity.kt file. It's at "./IntelliProveWebView/src/main/java/com/intelliprove/webview/IntelliWebViewActivity.kt".
Here's a GPT barf of what that file does:
Purpose
An Android Activity that hosts a WebView to load a web app, handle JS communication, camera permissions, and external links.
Key Components
IntelliWebViewDelegate– callback interface for receiving messages from the web app.IntelliWebViewDelegateHolder– singleton holder for the delegate.IntelliWebViewActivity- Configures
WebView(JavaScript, DOM storage, debugging). - Injects JS to disable zoom and patch
window.postMessage. - Handles external links via browser intents.
- Manages camera permission requests for
getUserMedia. - Cleans up
WebViewon destroy.
- Configures
IntelliWebAppInterface– JS bridge that forwardspostMessagecalls to the delegate and dismisses the activity if"stage": "dismiss".
Flow
start(context, url, delegate)launches activity with URL.- WebView loads the page and patches JS.
postMessageevents are forwarded to Android.- Camera permission requests go through Android’s system.
- External links open in browser.
- Delegate is notified of all messages.
The app folder is an example implementation that uses the SDK. If you want to test a URL, add it to the MainActivity.kt file. You can find it at "./app/src/main/java/com/intelliprove/MainActivity.kt".
It's a HelloWorld app with a single button that opens the IntelliProveWebViewActivity, given a specified URL. To test some code you have running locally, proxy it to a public HTTPS URL and use that one, including the action token.
You need the following prerequisites:
- Android SDK Build Tools 35.0.0
- Android API 35 -> Android SDK Platform 35
When building the SDK, always verify that the Build Variants are set to "Release".
Set the Build Variants to Debug to fix issues concerning signing of the app.