Appearance
Capacitor
The widget embeds inside a Capacitor app via an iframe loading the hosted bundle. No native plugin or SDK required.
Quickstart
In your Capacitor app's HTML:
html
<iframe
src="https://widget.inviaro.com/embed?key=wt_..."
style="border: 0; width: 100%; height: 100vh;"
allow="clipboard-write"
></iframe>The mode=embed URL renders the panel full-pane with no launcher button.
Identity verification
For logged-in users, pass the signed userHash via URL parameters:
html
<iframe
src="https://widget.inviaro.com/embed?key=wt_...&user_id=usr_42&user_hash=a1b2c3..."
></iframe>Compute userHash server-side. See Identity verification for code samples.
WARNING
Never compute the hash in your Capacitor app's bundled JavaScript. The secret would ship with the binary and be extractable. Sign on your backend, fetch the digest with an authenticated request.
Common issues
Chat does not open
Verify the origin URL matches the host page exactly (scheme and domain, no trailing slash). The widget enforces an origin allow-list.
Keyboard pushes content off-screen
Ensure your viewport meta tag includes viewport-fit=cover and that you are not overriding the iframe's CSS positioning.
Notifications
Browser-style notifications are not available inside the WebView. The unread badge on the launcher acts as a visible cue while the panel is closed.
What is not supported yet
- Native attachments. File uploads are planned.
- Native push notifications. Planned.