The customer activation platform.Every interaction becomes a qualified contact. Book a demo

WebView integration

Embed OmniLab inside a mobile app or controlled wrapper with a modern WebView.

Use WebView integration when OmniLab should stay inside a native app, kiosk shell, or managed wrapper instead of opening in the device browser.

When to use a WebView

WebViews are a good fit when:

  • a loyalty, retail, or event app should keep the participant inside the app shell
  • a kiosk or wrapper application should control everything around the OmniLab experience
  • you need the OmniLab page to appear inside a native navigation flow

Technical requirements

RequirementExpectation
Rendering engineUse a current WebView engine equivalent to a modern Chrome or Chromium-based runtime
JavaScriptEnabled
Parent-child messagingpostMessage support available if the host app needs to react to OmniLab events
LayoutFull-screen or edge-to-edge container recommended
Touch handlingTouch and scroll events forwarded correctly
Device permissionsCamera, microphone, or geolocation permissions granted when the experience requires them

Using a kiosk-style wrapper?

If the wrapper also manages scanners, inactivity flows, or kiosk home screens, read the Kiosk section as well. Kiosk integrations add operational and device requirements beyond a standard WebView.

React Native example

Install the package:

npm install react-native-webview

Then load the OmniLab page in a WebView:

import React from "react";
import { WebView } from "react-native-webview";

export default function OmniLabWebView() {
  return (
    <WebView
      source={{
        uri: "https://experience.example.com/<campaign-public-link>?c=<touchpoint-id>&embedded=1",
      }}
      style={{ flex: 1 }}
      javaScriptEnabled
    />
  );
}

Use a campaign landing page URL when the app should show several experiences, or a direct touchpoint URL when it should launch one specific experience immediately.

Native iOS and Android guidance

  • Use the platform's standard WebView component or equivalent wrapper.
  • Enable JavaScript.
  • Verify that camera, microphone, geolocation, and file permissions are passed through when needed.
  • Test virtual keyboard behavior if the experience includes forms or sign-in.
  • If your app must react to parent-child messages, confirm that the WebView bridge supports postMessage.

Test checklist

  • Campaign or touchpoint URL loads correctly inside the app
  • Sign-in, cookies, and redirects behave as expected in the WebView
  • Camera, microphone, geolocation, and keyboard prompts appear correctly
  • Portrait and landscape layouts behave acceptably on target devices
  • Network loss, app backgrounding, and app resume do not break the participant flow

Was this helpful?

Optional comments help us improve this page for future authors and readers.

On this page