DocumentationAPI Reference
API ChangelogOpenAPI SpecStatus

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.