Onfido Smart Capture SDK는 애플리케이션이 사용자 신원 확인 흐름을 구현할 수 있도록 하는 일련의 화면과 기능을 제공합니다. 각 SDK에는 다음이 포함됩니다.
모든 Onfido Smart Capture SDK는 Onfido Studio 워크플로를 사용하여 조정되며 사용 가능한 플랫폼 간에는 약간의 사용자 정의 차이만 있습니다.
Onfido SDK 통합을 지원하는 두 가지 환경이 있습니다.
사용되는 환경은 필요한 SDK 토큰을 생성하는 데 사용되는 API 토큰에 따라 결정됩니다.
통합에 만족하고 활성화할 준비가 되면 Onfido 고객 지원팀에 문의하여 라이브 API 토큰을 받으세요. 코드의 샌드박스 토큰을 라이브 토큰으로 바꿔야 합니다.
활성화하기 전에 Onfido 대시보드에 올바른 청구 세부 정보를 입력했는지 확인하세요.
iOS SDK는 다음을 지원합니다.
참고 : Xcode 11.5-12를 지원하는 최신 SDK 버전은 iOS SDK 버전 22이고, Xcode 14+는 iOS SDK 버전 29입니다. 필요한 경우 이전 버전의 Xcode에 대한 해결 방법이 있습니다. 자세한 내용은 Onfido 고객 지원팀에 문의하세요.
참고 : iOS SDK를 사용하려면 CoreNFC를 실행해야 합니다(NFC 사용 여부에 관계없음). Xcode 12부터 시뮬레이터에서 libnfshared.dylib
가 누락되는 버그가 있습니다. 이 문제에 대한 해결 방법은 스택 오버플로를 참조하세요.
참고 : NFC 기능을 비활성화하는 경우 NFC 관련 코드는 런타임 구성에 관계없이 SDK 바이너리의 일부이므로 Apple은 NFC 사용법을 보여주기 위해 비디오를 제공하도록 요청할 수 있습니다. 이 문제에 대한 영구적인 해결책을 찾기 위해 노력하는 동안 Onfido 고객 지원팀에 문의하여 비디오를 얻을 수 있습니다.
SDK는 사용자 장치의 카메라(문서 및 얼굴 캡처용)와 마이크(비디오 및 모션 캡처용)를 사용합니다. 애플리케이션의 Info.plist
파일에 다음 키가 있어야 합니다.
NSCameraUsageDescription
NSMicrophoneUsageDescription
< key >NSCameraUsageDescription</ key >
< string >Required for document and face capture</ string >
< key >NSMicrophoneUsageDescription</ key >
< string >Required for video capture</ string >
참고 : 앱을 제출하려면 모든 키가 필요합니다.
SDK는 Swift Package Manager와 함께 사용할 수 있으며 다음 패키지 저장소 URL을 추가하여 프로젝트에 포함할 수 있습니다.
dependencies: [
. package ( url : " https://github.com/onfido/onfido-ios-sdk.git " , . branch ( " master " ) )
]
SDK는 CocoaPods에서도 사용할 수 있으며 Podfile에 다음을 추가하여 프로젝트에 SDK를 포함할 수 있습니다.
pod 'Onfido'
SDK를 얻으려면 pod install
실행하세요.
SDK는 압축된 프레임워크를 다운로드할 수 있는 GitHub 릴리스 탭에서 사용할 수 있습니다. 여기에서 최신 릴리스를 찾을 수 있습니다.
Onfido.xcframework
가 포함된 압축된 zip 파일을 다운로드하세요.Onfido.xcframework
아티팩트를 프로젝트 폴더로 이동합니다.Onfido.xcframework
iOS 앱 대상의 General
탭에 있는 Embedded binaries
섹션에 추가하세요.앱이 Swift 기반이 아닌 경우 프로젝트 내에 새 Swift 파일을 생성해야 합니다. 이 파일은 Xcode가 Onfido iOS SDK를 실행하는 데 필요한 Swift 런타임 라이브러리를 패키징하도록 강제하는 데 필요합니다.
다음 내용으로 Swift 파일을 만듭니다.
import Foundation
import AVFoundation
import CoreImage
import UIKit
import Vision
func fixLibSwiftOnoneSupport ( ) {
// from https://stackoverflow.com/a/54511127/2982993
print ( " Fixes dyld: Library not loaded: @rpath/libswiftSwiftOnoneSupport.dylib " )
}
프로젝트 구성에서 Always Embed Swift Standard Libraries
Yes
설정하세요.
️ 다음 SDK 초기화 문서는 Onfido Studio를 사용하여 조정된 신원 확인 워크플로에 적용됩니다. 확인 단계를 수동으로 정의하고 구성하는 통합의 경우 아래의 고급 흐름 사용자 정의 섹션을 참조하세요.
iOS SDK에는 통합 유연성을 제공하는 동시에 통합이 용이한 여러 초기화 및 사용자 정의 옵션이 있습니다.
Onfido Studio는 Onfido SDK와 함께 사용할 수 있도록 재사용 가능성이 높은 신원 확인 워크플로를 만드는 데 사용되는 플랫폼입니다. 워크플로 작업에 대한 소개는 시작하기 가이드 또는 Onfido Studio 제품 가이드를 참조하세요.
SDK 세션은 특정 워크플로의 고유 식별자인 workflow_id
ID에서 파생된 세션별 workflow_run_id
에 의해 조정됩니다.
workflow_run_id
생성 방법에 대한 자세한 내용은 Onfido API 참조의 POST /workflow_runs/
엔드포인트 정의를 참조하세요.
SDK의 컨텍스트 에서는
workflow_run_id
속성을workflowRunId
라고 합니다.
워크플로를 정의하고 신원 확인을 생성할 때 잠재적인 재사용을 위해 특정 사용자에 대해 applicant_id
저장하는 것이 좋습니다. 이는 동일한 개인에 대해 여러 신원 확인을 실행하려는 경우 또는 사용자가 확인 흐름으로 돌아와서 재개하는 시나리오에서 사용자를 추적하는 데 도움이 됩니다.
SDK는 SDK 토큰을 사용하여 인증됩니다. Onfido Studio는 워크플로 실행이 생성될 때 API에서 반환된 워크플로 실행 페이로드에서 SDK 토큰을 생성하고 노출합니다.
Studio용 SDK 토큰은 생성된 특정 워크플로 실행과 함께만 사용할 수 있으며 5주 동안 유효합니다.
참고 : 악의적인 사용자가 소스 코드에서 API 토큰을 발견할 수 있으므로 애플리케이션의 프런트엔드에서 API 토큰을 절대 사용해서는 안 됩니다. 서버에서만 사용해야 합니다.
SDK를 사용하려면 생성된 SDK 토큰과 워크플로 실행 ID를 사용하여 클라이언트 개체의 인스턴스를 가져와야 합니다.
let workflowConfiguration = WorkflowConfiguration ( workflowRunId : " <WORKFLOW_RUN_ID> " , sdkToken : " <YOUR_SDK_TOKEN> " )
let onfidoRun = OnfidoFlow ( workflowConfiguration : orchestrationConfig )
customerViewController . present ( try onfidoRun . run ( ) , animated : true , completion : nil )
// listen for the result
최근 여권, 주민등록증, 거주 허가증에는 NFC(Near Field Communication)를 사용하여 접속할 수 있는 칩이 포함되어 있습니다. Onfido SDK는 이 정보를 추출하고 그 진위를 확인하며 결과 확인을 문서 보고서의 일부로 제공하는 일련의 화면과 기능을 제공합니다.
Onfido iOS SDK 버전 29.1.0부터 NFC는 기본적으로 활성화되며 문서와 장치가 모두 NFC를 지원하는 경우 최종 사용자에게 제공됩니다.
NFC 구성 방법 및 지원되는 문서 목록에 대한 자세한 내용은 문서 보고서용 NFC 가이드를 참조하세요.
이 기능을 사용하려면 앱 대상에 Near Field Communication Tag Reading
기능이 필요합니다. 이전에 추가하지 않은 경우 Apple 설명서의 단계를 따르세요.
NFC PACE 문서를 지원하려면 앱 자격을 편집해야 합니다.
Near Field Communication Tag Reader Session Formats
키 아래에 중첩된 새 항목을 추가합니다.Password Authenticated Connection Establishment (PACE)
선택합니다.< key >com.apple.developer.nfc.readersession.formats</ key >
< array >
< string >PACE</ string >
< string >TAG</ string >
</ array >
애플리케이션의 Info.plist
파일에 다음 키가 있어야 합니다.
< key >NFCReaderUsageDescription</ key >
< string >Required to read ePassports</ string >
Info.plist
파일에 아래 항목을 포함해야 합니다. <key>com.apple.developer.nfc.readersession.felica.systemcodes</key>
<array>
<string>12FC</string>
</array>
<key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
<array>
<string>A0000002471001</string>
<string>A0000002472001</string>
<string>00000000000000</string>
<string>D2760000850101</string>
</array>
Onfido Studio를 사용하여 NFC를 구성하려면 워크플로 빌더에서 다음 옵션 중 하나를 사용할 수 있습니다.
optional
): 가능한 경우 NFC 읽기가 시도됩니다. 코드에서 NFC를 구성하려면 위 옵션을 사용하여 OnfidoConfig
(아래 고급 흐름 사용자 정의 섹션 참조)를 구성하는 동안 withNFC()
함수를 호출하세요.
️ Studio와 달리 NFC가required
에 따라 코드로 구성되면 SDK는 최종 사용자 최고의 경험을 위해 NFC를 지원하지 않는 문서 유형을 필터링하지 않고 여기에 나열된 NFC 지원 문서 유형만 표시하거나 Studio 사용을 선호합니다.
iOS SDK는 SDK 흐름에 사용되는 색상, 글꼴 및 문자열의 사용자 정의를 지원합니다.
SDK의 모양과 느낌을 사용자 정의하려면 필요한 CSS 값을 WorkflowConfiguration
개체의 루트에 있는 Appearance
개체에 전달할 수 있습니다.
let appearance = Appearance ( )
appearance . primaryColor = < DESIRED_UI_COLOR_HERE >
appearance . primaryTitleColor = < DESIRED_UI_COLOR_HERE >
ONAppearance *appearance = [[ONAppearance alloc ] init ];
appearance.primaryColor = <DESIRED_UI_COLOR_HERE>;
appearance.primaryTitleColor = <DESIRED_UI_COLOR_HERE>;
이 속성에서 설정할 수 있는 지원 UI 옵션에 대한 자세한 내용은 SDK 사용자 지정 설명서를 참조하세요.
iOS SDK는 어두운 테마 사용자 정의를 지원합니다. 기본적으로 사용자의 활성 장치 테마는 Onfido SDK에 자동으로 적용됩니다. 그러나 런타임 시 동적 테마 전환을 선택 해제하고 대신 아래와 같이 빌드 시 테마를 정적으로 설정할 수 있습니다. 이 경우 사용자의 디바이스 테마와 관계없이 항상 선택된 테마로 플로우가 표시됩니다.
interfaceStyle
사용하면 각각 .dark
및 .light
통해 밝은 모드 또는 어두운 모드를 강제할 수 있습니다. 기본적으로 시스템의 인터페이스 스타일을 따르는 .unspecified
로 설정됩니다.
참고: 이전 속성 supportDarkMode
이제 더 이상 사용되지 않습니다. 대신에 interfaceStyle
사용하세요.
예를 들어 인터페이스 스타일을 .dark
로 설정하려면 아래 코드를 사용할 수 있습니다.
let appearance = Appearance ( )
appearance . setUserInterfaceStyle ( . dark )
ONAppearance *appearance = [ONAppearance new ];
[appearance setUserInterfaceStyle: UIUserInterfaceStyleDark];
모양을 적용하려면 아래 방법을 사용할 수 있습니다.
let configBuilder = OnfidoConfig . builder ( )
configBuilder . withAppearance ( appearance )
ONFlowConfigBuilder *configBuilder = [ONFlowConfig builder ];
[configBuilder withAppearance: appearance];
Onfido SDK는 Onfido 화면 하단의 Onfido 로고 표시에 영향을 미치는 두 가지 공동 브랜딩 옵션을 허용합니다.
cobrand {Object}
- 선택사항
바닥글 워터마크에 브랜드를 추가하는 가장 효과적인 방법은 enterpriseFeatures
아래의 cobrand
속성을 사용하는 것입니다. 이 속성은 text
매개변수를 사용합니다.
let companyName = " MyCompany "
let enterpriseFeatures = EnterpriseFeatures . builder ( )
. withCobrandingText ( companyName )
. build ( )
NSString *companyName = @" MyCompany " ;
ONEnterpriseFeaturesBuilder *enterpriseFeatures = [ONEnterpriseFeatures builder ];
[enterpriseFeatures withCobrandingText: companyName];
[enterpriseFeatures build ];
참고 : 텍스트 공동 브랜딩은 Onfido에서 활성화해야 합니다. 기능을 활성화하려면 솔루션 엔지니어나 고객 성공 관리자에게 문의하세요.
logoCobrand {Object}
- 선택사항
cobrand
대신 enterpriseFeatures
아래의 logoCobrand
속성에 정의할 이미지 집합을 지정할 수도 있습니다. '어두운' 모드에 사용할 이미지 경로와 '밝은' 모드에 사용할 별도의 이미지 경로를 제공해야 합니다. 두 이미지의 해상도는 모두 144x32여야 합니다.
let onfidoEnterpriseFeatures = EnterpriseFeatures . builder ( )
. withCobrandingLogo (
UIImage ( named : " imageName_for_lightmode " ) ! ,
cobrandingLogoDarkMode : UIImage ( named : " imageName_for_darkmode " ) !
)
. build ( )
ONEnterpriseFeaturesBuilder *enterpriseFeatures = [ONEnterpriseFeatures builder ];
[enterpriseFeatures withCobrandingLogo:
[UIImage imageNamed: @" onfido-logo-white " ] cobrandingLogoDarkMode: [UIImage imageNamed: @" onfido-logo-grey " ]
];
[enterpriseFeatures build ];
참고 : 로고 공동 브랜딩은 Onfido에서 활성화해야 합니다. 기능을 활성화하려면 솔루션 엔지니어나 고객 성공 관리자에게 문의하세요.
공동 브랜딩을 적용하려면 엔터프라이즈 기능 개체를 OnfidoConfig
에 추가하세요.
let configBuilder = OnfidoConfig . builder ( )
configBuilder . withEnterpriseFeatures ( enterpriseFeatures )
ONFlowConfigBuilder *configBuilder = [ONFlowConfig builder ];
[configBuilder withEnterpriseFeatures: enterpriseFeatures];
Onfido SDK는 40개 이상의 언어에 대한 번역을 지원하고 유지합니다.
SDK 내에서 사용되는 문자열은 앱에 원하는 언어에 대한 Localizable.strings
두고 구성 빌더에서 withCustomLocalization()
메서드를 사용하여 흐름을 구성하여 사용자 정의할 수 있습니다.
- ( void ) withCustomLocalization {
[ self . configBuilder withCustomLocalization ] ; // will look for localizable strings in your Localizable.strings file
}
Onfido에서 지원하는 언어 목록은 SDK 사용자 정의 문서를 참조하세요.
참고 : 언어를 선택하지 않으면 SDK는 최종 사용자의 장치 언어 설정을 감지하고 사용합니다. 장치의 언어가 지원되지 않으면 SDK는 기본적으로 영어( en_US
)로 설정됩니다.
SDK는 현재 Onfido가 지원하지 않는 로케일에 대한 사용자 정의 언어로 표시될 수도 있습니다. 전체 또는 부분 번역을 제공할 수 있습니다. 번역이 없는 키의 경우 지원되는 언어 기본값이 사용됩니다.
사용자 정의 번역을 추가할 때 Localizable.strings
파일에 포함된 전체 키 세트를 추가해야 합니다.
원하는 대로 번역된 키를 사용하여 문자열 파일의 이름을 지정할 수 있지만 파일 이름은 withCustomLocalization()
메서드에 대한 매개 변수로 SDK에 제공되어야 합니다.
withCustomLocalization(andTableName: "MY_CUSTOM_STRINGS_FILE")
(Swift)[configBuilder withCustomLocalizationWithTableName:@"MY_CUSTOM_STRINGS_FILE"];
(오브젝티브-C)또한 문자열 파일을 읽을 번들을 지정할 수 있습니다.
withCustomLocalization(andTableName: "MY_CUSTOM_STRINGS_FILE", in: myBundle)
(Swift)[configBuilder withCustomLocalizationWithTableName:@"MY_CUSTOM_STRINGS_FILE" in: myBundle];
(오브젝티브-C)메모 :
새로운 언어 번역을 요청하거나 제공된 번역에 대한 피드백이나 제안을 제공하려면 Onfido 고객 지원팀에 문의하세요.
Onfido SDK 세션이 끝나면 다양한 콜백 함수가 트리거될 수 있습니다.
사용자 분석 및 제출된 미디어 반환에 사용되는 고급 콜백에 대해서는 이 문서의 고급 콜백 섹션을 참조하세요.
완료된 워크플로의 결과를 받으려면 OnfidoFlow
인스턴스에 콜백을 전달해야 합니다. 다음 코드는 예제로 제공됩니다.
onfidoRun . with ( responseHandler : { ( response : OnfidoResponse ) in
switch response {
case . success :
// User completed the flow
case . cancel ( let cancellationReason ) :
// Flow cancelled by user
print ( cancellationReason )
case . error ( let error ) :
// Error occurred
print ( error )
}
} ,
dismissFlowOnCompletion : true )
// Dismiss the whole flow when the user completes it, and return back to the integrator view
기인하다 | 참고 사항 |
---|---|
.성공 | 워크플로의 모든 대화형 작업이 완료되면 실행되는 콜백입니다. 성공하면 웹후크를 구성한 경우 워크플로 실행이 완료되었음을 확인하는 알림이 백엔드로 전송됩니다. 워크플로에서 직접 처리되므로 백엔드를 사용하여 수표를 생성할 필요가 없습니다. |
.error(오류) | 오류가 발생할 때 실행되는 콜백 |
.취소 | 사용자가 워크플로를 중간에 종료했을 때 실행되는 콜백입니다. 이유는 .userExit 또는 .consentDenied 일 수 있습니다. |
OnfidoResponse.error(Error)
의 일부로 반환된 Error
개체는 OnfidoFlowError
유형입니다. 오류 유형에 따라 여러 사례가 포함된 열거형입니다.
switch response {
case let OnfidoResponse . error ( error ) :
switch error {
case OnfidoFlowError . cameraPermission :
// This happens if the user denies permission to the SDK during the flow
case OnfidoFlowError . failedToWriteToDisk :
// This happens when the SDK tries to save capture to disk, maybe due to a lack of space
case OnfidoFlowError . microphonePermission :
// This happens when the user denies permission for microphone usage by the app during the flow
case OnfidoFlowError . upload ( let OnfidoApiError ) :
// This happens when the SDK receives an error from an API call.
// See https://documentation.onfido.com/api/latest#errors for more information
case OnfidoFlowError . exception ( withError : let error , withMessage : let message ) :
// This happens when an unexpected error occurs.
// Please email [Customer support](mailto:supportonfido.com) when this happens
case OnfidoFlowError . versionInsufficient :
// This happens when you are using an older version of the iOS SDK and trying
// to access a new functionality from workflow. You can fix this by updating the SDK
default : // necessary because of Swift
}
}
SDK는 사용자의 미디어와 데이터를 캡처하고 업로드하는 역할을 담당하지만 신원 확인 보고서 자체는 Onfido Studio를 사용하여 생성된 워크플로를 기반으로 생성됩니다.
Onfido Studio 및 SDK를 사용하여 신원 확인을 생성하는 단계별 안내는 빠른 시작 가이드를 참조하세요.
애플리케이션이 이 문서의 고급 사용자 정의 섹션에 정의된 옵션을 사용하여 Onfido iOS SDK를 초기화하는 경우 Onfido API를 사용하여 수동으로 검사를 만들고 보고서 결과를 검색할 수 있습니다. 보고서 결과가 생성되면 비동기적으로 알림을 받도록 웹후크를 구성할 수도 있습니다.
이 '고급 사용자 정의' 섹션은 Onfido Studio를 사용하지 않고 Onfido iOS SDK를 초기화하는 과정을 나타냅니다. 이 프로세스에는 검증 단계와 해당 구성을 수동으로 정의해야 합니다.
이러한 흐름 단계 매개변수는 workflowRunId
와 상호 배타적이므로 클라이언트를 인스턴스화하고 흐름을 시작하는 대체 방법이 필요합니다.
대부분의 새로운 기능은 Studio 워크플로용으로만 출시되었으므로 이 초기화 프로세스는 권장 되지 않습니다 .
SDK는 SDK 토큰을 사용하여 인증됩니다. 각 SDK 토큰은 특정 신청자 및 세션에만 적용되어야 하므로 Onfido iOS SDK를 초기화할 때마다 새 토큰을 생성해야 합니다.
매개변수 | 메모 |
---|---|
applicant_id | 필수의 SDK 인스턴스의 신청자를 지정합니다. |
application_id | 필수의 개발 중에 설정된 애플리케이션 ID(iOS "애플리케이션 번들 ID"용)입니다. iOS의 경우 일반적으로 com.your-company.app-name 형식입니다. 유효한 application_id 사용해야 합니다. 그렇지 않으면 401 오류가 발생합니다. |
SDK 토큰을 수동으로 생성하는 방법에 대한 자세한 내용은 Onfido API 참조의 POST /sdk_token/
정의를 참조하세요.
참고 : 악의적인 사용자가 소스 코드에서 API 토큰을 발견할 수 있으므로 애플리케이션의 프런트엔드에서 API 토큰을 사용해서는 안 됩니다. 서버에서만 사용해야 합니다.
expireHandler
사용하여 SDK 토큰 만료 관리SDK 토큰을 수동으로 생성하는 경우 90분 후에 만료된다는 점에 유의하는 것이 중요합니다.
이를 염두에 두고 만료 시 새 SDK 토큰을 생성하고 전달하려면 SDK 토큰 구성 함수에서 선택적인 expireHandler
매개변수를 사용하는 것이 좋습니다. 이렇게 하면 SDK 토큰이 만료된 후에도 SDK가 흐름을 계속할 수 있습니다.
예를 들어:
func getSDKToken ( _ completion : @escaping ( String ) -> Void ) {
// Your network request logic to retrieve SDK token goes here
completion ( myNewSDKtoken )
}
let config = try OnfidoConfig . builder ( )
. withSDKToken ( " <YOUR_SDK_TOKEN> " , expireHandler : getSDKToken )
-( void ) getSDKToken: ( void (^)( NSString *)) handler {
// <Your network request logic to retrieve SDK token goes here>
handler (sdkToken);
}
ONFlowConfigBuilder *configBuilder = [ONFlowConfig builder ];
[configBuilder withSdkToken: @" YOUR_SDK_TOKEN " expireHandler: ^( void (^ handler)( NSString * expireHandler)) {
[ self getSDKToken: handler];
}];
SDK 종속성을 추가하고 신청자 ID가 있으면 SDK 흐름 단계를 수동으로 구성할 수 있습니다.
let config = try OnfidoConfig . builder ( )
. withSDKToken ( " <YOUR_SDK_TOKEN> " )
. withWelcomeStep ( )
. withDocumentStep ( )
. withProofOfAddressStep ( )
. withFaceStep ( ofVariant : . photo ( withConfiguration : nil ) )
. build ( )
let onfidoFlow = OnfidoFlow ( withConfiguration : config )
. with ( responseHandler : { results in
// Callback when flow ends
} )
ONFlowConfigBuilder *configBuilder = [ONFlowConfig builder ];
[configBuilder withSdkToken: @" YOUR_SDK_TOKEN " ];
[configBuilder withWelcomeStep ];
[configBuilder withDocumentStep ];
[configBuilder withProofOfAddressStep ];
NSError *variantConfigError = NULL ;
Builder *variantBuilder = [ONFaceStepVariantConfig builder ];
[variantBuilder withPhotoCaptureWithConfig: NULL ];
[configBuilder withFaceStepOfVariant: [variantBuilder buildAndReturnError: &variantConfigError]];
if (variantConfigError == NULL ) {
NSError *configError = NULL ;
ONFlowConfig *config = [configBuilder buildAndReturnError: &configError];
if (configError == NULL ) {
ONFlow *onFlow = [[ONFlow alloc ] initWithFlowConfiguration: config];
[onFlow withResponseHandler: ^(ONFlowResponse *response) {
// Callback when flow ends
}];
}
}
try onfidoRun . run ( from : yourViewController , animated : true )
NSError *runError = NULL ;
[onFlow runFrom: yourViewController animated: YES error: &runError completion: nil ];
if (runError != NULL ) {
// do fallback logic
}
SDK의 모양과 느낌을 사용자 정의하려면 필수 CSS 값을 OnfidoConfig.builder()
객체의 루트에 있는 Appearance
객체에 전달할 수 있습니다.
let appearance = Appearance ( )
appearance . primaryColor = < DESIRED_UI_COLOR_HERE >
appearance . primaryTitleColor = < DESIRED_UI_COLOR_HERE >
ONAppearance *appearance = [[ONAppearance alloc ] init ];
appearance.primaryColor = <DESIRED_UI_COLOR_HERE>;
appearance.primaryTitleColor = <DESIRED_UI_COLOR_HERE>;
모양을 적용하려면 아래 방법을 사용할 수 있습니다.
let configBuilder = OnfidoConfig . builder ( )
configBuilder . withAppearance ( appearance )
ONFlowConfigBuilder *configBuilder = [ONFlowConfig builder ];
[configBuilder withAppearance: appearance];
이 속성에서 설정할 수 있는 지원 UI 옵션에 대한 자세한 내용은 SDK 사용자 지정 설명서를 참조하세요.
SDK 흐름에 단계를 추가하여 SDK 흐름을 맞춤설정할 수 있습니다.
가능한 단계는 다음과 같습니다.
단계 | 설명 |
---|---|
withWelcomeStep | 예비 지침과 함께 사용자에게 표시되는 시작 화면입니다. 사용자 정의 옵션에는 사용자에게 표시되는 텍스트 요소 및 지침 수정이 포함됩니다. |
withDocumentStep | 사용자 문서의 사진 또는 업로드를 통해 캡처를 제어하는 화면 집합입니다. 사용자에게 표시되는 문서 목록과 전반적인 캡처 경험을 정의하기 위해 다양한 사용자 정의 옵션을 사용할 수 있습니다. |
withFaceStep | 사용자의 셀카, 비디오 또는 모션 캡처 캡처를 제어하는 화면 집합입니다. 사용자 정의 옵션을 통해 캡처 변형을 선택할 수 있습니다. |
withProofOfAddressStep | 사용자가 주소를 확인하기 위해 발급 국가와 문서 유형을 선택하는 화면입니다. |
이번 단계는 SDK 소개 화면입니다. 프로세스를 소개하고 사용자가 완료하는 데 필요한 단계를 준비합니다.
이 화면은 선택 사항 이지만 이미 신원 확인 시작 화면이 있는 경우에만 제거하는 것이 좋습니다.
Swift에서 configBuilder.withWelcomeStep()
호출하거나 Objective-C에서 [configBuilder withWelcomeStep]
호출하여 시작 화면을 표시할 수 있습니다.