メインコンテンツへスキップ

Liveness(生体認証セルフィー)

組み込みの生体認証検証による生体認証セルフィーキャプチャ。SDK は SmartFrames を通じて生体認証的に有効なフレームが取得されるまでユーザーをガイドし、画像を Base64 と JWT として返します。

Capability

このキャプチャタイプは Liveness capability を使用します。Liveness の仕組みの概念的な概要については、Liveness capability ページを参照してください。

仕組み

SDK はキャプチャセッション全体を管理します:

  1. SmartFrame オーバーレイでカメラを開きます。
  2. ユーザーがフレーム内に顔を位置合わせするようにガイドします。
  3. Liveness を検証します — セッションはユーザーが実際に存在する場合にのみ完了します。
  4. base64encrypted(JWT)を含む SelfieResult(別名 ResultCamera)オブジェクトを返します。
カメラモード(スマートキャプチャ)

SDK はデフォルトでインテリジェントフレーミング自動キャプチャが有効になっています。以下のようにビルダーでカメラモードを設定します:

unicoCheck.setSmartFrame(true)
unicoCheck.setAutoCapture(true)
ヒント

上記メソッドの false/true の値はキャプチャ体験を変更しません;SDK の内部ロジックにのみ使用されます。

Liveness キャプチャの開始
ステップ 1AcessoBioManagerDelegate を実装する

AcessoBioManagerDelegate は SDK のライフサイクルコールバックを処理します。4 つの必須メソッドを実装してください:

メソッド呼び出しタイミング
onErrorAcessoBioManager(error)SDK 操作中にエラーが発生した場合
onUserClosedCameraManually()ユーザーが手動でカメラを閉じた場合
onSystemClosedCameraTimeoutSession()40 秒のセッション制限に達した場合
onSystemChangedTypeCameraTimeoutFaceInference()13 秒間顔が検出されなかった場合 — 手動キャプチャに切り替わります
class ViewController: UIViewController, AcessoBioManagerDelegate {
var unicoCheck: AcessoBioManager!

override func viewDidLoad() {
super.viewDidLoad()
unicoCheck = AcessoBioManager(viewController: self)
}

func onErrorAcessoBioManager(_ error: ErrorBio!) { }
func onUserClosedCameraManually() { }
func onSystemClosedCameraTimeoutSession() { }
func onSystemChangedTypeCameraTimeoutFaceInference() { }
}
必須デリゲートメソッド

上記の 4 つのデリゲートメソッドは、ロジックがなくてもプロジェクトに作成する必要があります。作成しない場合、プロジェクトは正常にコンパイルされません。

ステップ 2SelfieCameraDelegateAcessoBioSelfieDelegate を実装する

これらのデリゲートはセルフィーキャプチャの結果コールバックを処理します:

メソッド説明
onSuccessSelfie(result)キャプチャ成功 — base64(プレビュー)と encrypted(API 用 JWT)を含む SelfieResult を返します
onErrorSelfie(errorBio)キャプチャ失敗 — コードと説明を含む ErrorBio を返します
トークンの有効期限

encrypted の生成から API への送信までの間隔は 10 分 を超えてはなりません。

class ViewController: UIViewController, AcessoBioManagerDelegate,
SelfieCameraDelegate, AcessoBioSelfieDelegate {

func onSuccessSelfie(_ result: SelfieResult!) { }
func onErrorSelfie(_ errorBio: ErrorBio!) { }
}
ステップ 3prepareSelfieCameraopen を呼び出す

SDK 設定を渡して prepareSelfieCamera を呼び出します。カメラの準備が完了すると、onCameraReady イベントが AcessoBioCameraOpenerDelegate とともにトリガーされます — open() メソッドを通じてカメラを開きます:

  • onCameraReady(cameraOpener) — カメラの準備完了;open(self) を呼び出します。
  • onCameraFailed(message) — カメラの準備に失敗しました(ErrorPrepareErrorBio の拡張です)。
@IBAction func openCamera(_ sender: Any) {
unicoCheck.build().prepareSelfieCamera(self, config: YourUnicoConfigClass())
}

func onCameraReady(_ cameraOpener: AcessoBioCameraOpenerDelegate!) {
cameraOpener.open(self)
}

func onCameraFailed(_ message: ErrorPrepare!) { }
モニタリングデータ収集

prepareSelfieCamera メソッドは、ユーザーセッションとフローの特定を支援するために PrepareInfo 経由でメタデータを受け取るオーバーロードを提供します:

  • externalUserId(String、必須)— あなたのシステム内のユーザー識別子。送信前に SHA-256 を使用して自動的にハッシュ化されます。
  • useCase(String、任意)— 現在実行中のコンテキストまたはフローの識別子(例:"account_opening""password_recovery")。平文で送信されます。
let prepareInfo = PrepareInfo(
externalUserId: "external_user_id",
useCase: "use_case"
)
unicoCheck.build().prepareSelfieCamera(
self,
config: YourUnicoConfigClass(),
prepareInfo: prepareInfo
)

結果の完全な処理については、結果の受け取り を参照してください。