Native Mobile Integration vs. WebView

When possible, we recommend using our native Mobile Integration (v2) instead of the WebView Flow. We do not recommend using WebView unless you have a hard constraint preventing you from using the mobile SDKs.

Reasons to use native mobile integration

  • WebViews are resource-intensive and can lead to degraded performance, especially on older devices. This can manifest as reduced frame rate, longer waiting times, application freezes, and potential memory-related crashes. General performance is superior on the mobile SDKs.
    • Some devices (e.g. iOS) will terminate your WebView if memory consumption is too high. Persona's autocapture flow is memory-intensive, and if overall device resource usage is high, iOS may kill the WebView running the Persona flow, leading to an interrupted user experience.
  • WebView requires more engineering effort to integrate. When integrating with WebView, you must manually handle the following:
    • Request API, to make API requests to Persona
    • Response parser, to parse responses from the Persona API
    • Requesting camera permissions (example)
    • Filepicker API integration, to allow end users to select and upload files from their device
  • Autocapture performance is superior on the mobile SDKs. The mobile SDKs use ML libraries provided by Apple and Google, while WebView uses a WebAssembly library that trades performance for cross-device compatibility.
  • Loading speed and network resilience. The mobile SDKs have all runtime dependencies preloaded, while WebView needs to load the Inquiry flow runtime while the end user is waiting.
  • Mobile SDKs look more native to the consumer app, while WebViews are more clearly browser-based third-party integrations.

Reasons to use WebView

  • You have app size limitations, and using the native mobile SDKs will bring app size over an acceptable threshold.
  • You have strict restrictions on what external dependencies are allowed.
  • You need to support iOS 12 or earlier. Our mobile SDKs require a minimum OS version of iOS 13.
  • You need to embed the Persona flow into a mobile SDK that will be used by your customers, as opposed to a mobile app.