WebView iOS and Android

The WebView option allows individuals to verify their identity in a mobile app with the Android WebView or iOS WKWebView.

Mobile WebView Integration (iOS & Android)

For a seamless, in-app user experience, you can embed the Trust Swiftly verification flow within your native mobile app using a WebView component. This guide will walk you through the implementation for both Android and iOS.

The core technology is the same Magic Link used in web integrations, but with a specific pattern to control the user flow.


The Core Concept: The "Redirect-to-Close" Pattern

This is the most important concept for a successful WebView integration.

  1. Get the Link: Your app gets a unique magic_link for a user from your backend.

  2. Provide a Redirect URL: When your backend creates or requests the user link from the Trust Swiftly API, it must include a redirect_url. This URL should be a custom, non-existent URL that your app can uniquely identify (e.g., https://yourapp.com/verification-complete).

  3. Open the WebView: Your app opens the magic_link in a full-screen WebView.

  4. User Completes Flow: The user completes the verification steps inside the WebView.

  5. Trust Swiftly Redirects: Upon completion, our server redirects the WebView to the redirect_url you provided.

  6. Your App Intercepts the Redirect: Your app's native code must listen for navigation events within the WebView. When it detects the WebView attempting to navigate to your specific redirect_url, it knows the process is complete.

  7. Your App Closes the WebView: Upon detecting the redirect, your app programmatically closes the WebView and returns the user to your native UI.

This pattern ensures a smooth transition back to your application without the user getting "stuck" on a "verification complete" page inside the WebView.


Android WebView Guide

Step 1: Configure Permissions & Manifest

First, ensure your AndroidManifest.xml includes the necessary permissions for camera access and is configured to handle the WebView activity.

Step 2: Implement the WebView Activity

Create a dedicated Activity to host the WebView. This code provides a complete, robust implementation that handles permissions, file uploads, and the critical redirect-to-close pattern.

Step 3: Launch the Activity

From another part of your app, launch the TrustSwiftlyWebViewActivity and pass the magic_link.


iOS WKWebView Guide

Step 1: Configure Permissions (Info.plist)

Your app must include an entry for NSCameraUsageDescription in its Info.plist file to explain why it needs camera access.

Step 2: Implement the WebView Controller

Create a dedicated UIViewController to manage the WKWebView. This controller will handle loading the URL, delegating permissions, and intercepting the final redirect.

Step 3: Present the Controller (SwiftUI Example)

From your main application view, present the TrustSwiftlyWebViewController as a sheet.


Common Issues

❗️Multiple signups

If testing your app and creating multiple verify sessions you should clear the cookies and cache of WKWebView inbetween new user sessions. (Refer to this guidearrow-up-right)

❗️Webkit Inline Media Playback

Please ensure allowsInlineMediaPlayback is enabled when creating a webview on a webkit browser (mobile Safari). This defaults to false and the camera preview will incorrectly open as a fullscreen live broadcast.

❗Camera Configuration

The WebView Flow requires access to the device camera. Please include the NSCameraUsageDescription key your app's Info.plist file as described in the Apple Developer documentationarrow-up-right.

❗️Allow External Network Requests

Trust Swiftly makes external network calls within the Inquiry Flow that need to be allowlisted for the flow to properly function. Certain frameworks such as Cordovaarrow-up-right require such requests to be allow listed. Please include *.trustswiftly.com/* in such an allow list if needed

Make sure permissions are correctly set for your app bundle.

  • Camera and Microphone Permission

Last updated