Custom Flow EKYC-iOS
Use Custom Flow in iOS when your app already has a WebView-based journey and only needs the Custom Flow-specific differences: customStartPageURL and CustomStatusDelegate.
What is Custom Flow?
Use Custom Flow in your iOS app when you already have a WebView-based journey and need to launch EKYC without managing a second WebView.
Custom Flow lets you open our EKYC experience from your own web content inside the same iOS app. This is useful when part of your app is native, but part of the user journey already runs inside a WebView.
When to use Custom Flow
Use Custom Flow when:
- You already have your own website and want to bundle it with our EKYC flow in one app experience.
- Your iOS app already uses a WebView for part of the user journey.
- You want to avoid handling one WebView for your flow and another WebView for our EKYC site.
Except for the custom flow entry point and status callback, the iOS integration is the same as the standard EKYC iOS integration. This page covers only the Custom Flow-specific parts.
Custom Flow Integration
Follow the standard EKYC iOS integration first. After you complete the standard setup, add the Custom Flow-specific configuration described in this page: customStartPageURL and CustomStatusDelegate.
customStartPageURL
Set customStartPageURL to the web page that should be shown first when the SDK starts. Use this when your user is already inside your own WebView-based journey and you want EKYC to begin from that page instead of using the default entry point.
When you set customStartPageURL, the SDK loads that URL as the first page instead of opening our default EKYC page. After the user finishes the flow on your custom page, your application must redirect the user to our EKYC URL by itself.
var ekycConfiguration = EKYCConfiguration()
ekycConfiguration.tenantConfigClientName = "{{clientName}}"
ekycConfiguration.baseURL = "https://mac-portal.mac.appmanteam.com/api/{{version}}/kyc"
ekycConfiguration.tenantConfigURL = "https://mac-portal.mac.appmanteam.com/api/v1/tenant-config"
ekycConfiguration.ekycURL = "https://{{clientName}}.mac.appmanteam.com/apps/identity-verification"
ekycConfiguration.livenessSuccessText = LivenessSuccessText()
ekycConfiguration.isThaiOnly = false
ekycConfiguration.enableSecurityProtection = true
ekycConfiguration.enableManualCaptureMode = false
ekycConfiguration.customStartPageURL = "https://{{your-domain}}/{{your-start-page}}"
EKYCService.shared.setConfiguration(configuration: ekycConfiguration)CustomStatusDelegate
CustomStatusDelegate lets your app receive status values from the Custom Flow and decide how to continue in the native layer.
EKYCService.shared.customStatusDelegate = self
func onCustomStatus(status: String) {
print("GOTO: \(status)")
}Use this callback when you want to:
- detect which step or route the Custom Flow is returning
- navigate the user to another native screen
- keep your app state in sync with the WebView-based journey
Updated 8 days ago
