2 ユーザーガイド

2.1 SDK のディレクトリ構造

2.2 開発環境へのSDK統合

SDKを使用前に、開発環境に統合する必要があります。プロジェクトの開発環境はXcode 7.0以降、動作環境はiOS 7.0以降である必要があります。

開発に必要な操作詳細は、以下の通りです。

2.2.1 開発環境の構成

SDK パッケージのインポート

コピーオプションがチェックされていることに注意しながら、libSTSilentLivenessController フォルダをプロジェクトにドラッグし、[Finish] ボタンをクリックします。

SDKは、CocoaPods によるインポートをサポートしていません。

ライセンスファイルのインポート

詳細はライセンス概要をご参照ください。

2.2.2 コンパイルオプションの設定

-ObjC および -lc++という、Xcodeリンカーパラメーターを追加する必要があります。

-ObjCパラメーターの追加後、リンカーは静的ライブラリ内のすべてのObjective-Cクラスとカテゴリーを最終実行ファイルに読み込むことができます。

静的ライブラリではC++標準ライブラリのサポートが必要なため、-lc++パラメーターを追加します。

追加方法:-lc++ および -ObjC を TARGETS -> Build Settings -> Linking -> Other Linker Flags に追加します。

使用する開発ツールがXcode 7.0以降の場合、手動でBitcodeを無効にする必要があります。

手順: TARGETS -> BuildSettings -> Enable BitcodeをNOに設定します。

2.2.3 カメラのアクセス許可設定

Xcode 8以降を使用してiOS 10以降のシステムをデバッグする場合、カメラ機能を呼び出す際に info.plist ファイルにカメラのアクセス許可を追加する必要があります。

<key>NSCameraUsageDescription</key>
<string>cameraDesciption</string

2.3 インターフェース呼び出しプロセス

サイレント生体検知のインターフェース呼び出しは、主にSTSilentLivenessControllerです。以下に、詳細な手順を解説します。

2.3.1 インターフェース呼び出しのフローチャート

1. STSilentLivenessDetectorDelegateプロトコルとSTSilentLivenessControllerDelegateプロトコルに準拠

@interface ViewController () <STSilentLivenessDetectorDelegate,STSilentLivenessControllerDelegate>

2. サイレント生体検知用ビューコントローラーの初期化

STSilentLivenessController *livenessVC = [[STSilentLivenessController alloc] initWithSetDelegate:self];

3. サイレント生体検知用オプションの条件設定

生体検出タイムアウト時間、通過条件、なりすまし閾値、隠し、照明条件、ぼやけ、閉じ目のフィルタリング条件を設定します。 SDKは、設定に従ってサイレント生体検知を実行します。

パラメーター

説明

setDetectTimeout

タイムアウト時間

setPassConditionMinDuration

認証最短時間

setPassConditionMinFrames

認証最小フレーム数

FaceDistanceRateWithFarRate

顔までの最大距離

FaceDistanceRateWithCloseRate

顔までの最小距離

setHackThreshold

なりすまし閾値

setIlluminationFilterEnable

明るさ検知を有効/無効

setBlurryFilterEnable

ぼやけ検知を有効/無効

setEyeOpenFilterEnable

目開き検知を有効/無効

setOcclusionEnable

顔のパーツ遮蔽検知を有効/無効

//タイムアウト時間を設定
[_detector setDetectTimeout:kSenseIdSilentLivenessDefaultTimeOutDuration];
//認証の最低条件を設定
[_detector setPassConditionMinDuration:0 minFrames:4];
//顔までの距離条件を設定
[_detector setFaceDistanceRateWithFarRate:0.4 closeRate:0.8];
//なりすまし阈值を設定
[_detector setHackThreshold:kSenseIdSilentLivenessDefaultHackThreshold];
//照明条件を設定
[_detector setIlluminationFilterEnable:YES
                    darkLightThreshold:kSenseIdSilentLivenessDefaultDarkLightThreshold
                  strongLightThreshold:kSenseIdSilentLivenessDefaultStrongLightThreshold];
//ぼやけ検知の設定
[_detector setBlurryFilterEnable:YES threshold:kSenseIdSilentLivenessDefaultBlurThreshold];
//目開き検知の設定
[_detector setEyeOpenFilterEnable:YES threshold:kSenseIdSilentLivenessDefaultEyeOpenThreshold];
//顔のパーツ遮蔽検知の設定
[_detector setOcclusionEnable:YES];

4. ナビゲーションバー付きのビューコントローラーをポップアウトさせる

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:self.livenessVC];

[self presentViewController:nav animated:YES completion:nil];

5. STSilentLivenessDetectorDelegateにcallbackメソッドを実装する

/**
 *  Callback for successful liveness detection
 *
 *  @param protobufData         Return encrypted binary data
 *  @param images             Returns the STSilentImage array according to the specified output scheme. Refer to STSilentImage.h for STSilentImage properties.
 *  @param faceRects          Returns the STSilentRect array according to the specified output scheme. Refer to STSilentRect.h for STSilentRect properties.
 */
- (void)silentLivenessSuccessWithProtobufData:(NSData *)protobufData
                                       images:(NSArray *)images
                                    faceRects:(NSArray *)faceRects{
}

/**
 *  Callback for liveness detection failure
 *
 *  @param livenessResult      Running result STIDSilentLivenessResult
 *  @param protobufData        Return encrypted binary data
 *  @param images            Returns the STSilentImage array according to the specified output scheme. Refer to STSilentImage.h for STSilentImage properties.
 *  @param faceRects         Returns the STSilentRect array according to the specified output scheme. Refer to STSilentRect.h for STSilentRect properties.
 */
- (void)silentLivenessFailureWithErrorCode:(STIDSilentLivenessResult)livenessResult
                              protobufData:(NSData *)protobufData
                                    images:(NSArray *)images
                                 faceRects:(NSArray *)faceRects{
}

6. STSilentLivenessControllerDelegateにcallback メソッドを実装する

// Callback for device error type
-(void) silentLivenessControllerDeveiceError: (STIDSilentLivenessDeveiceError) deveiceError
{
}
// Cancel detection
-(void) cancelDetect
{
}

2.3.2 顔比較のためのサーバーインターフェースの呼び出し

生体検知の成功後、SDKは対応する顔画像と暗号化されたバイナリファイルを返します。返された値は、顔比較のためのサーバーインターフェースのパラメーターとして使用することができます。

サーバーインターフェースのドキュメントは、SenseIDマニュアルを参照してください。

2.4 インターフェースのカスタマイズ

サイレント生体検知 SDKは、複数のカスタマイズ方法に対応しています。必要に応じてUIをカスタマイズすることができます。

表:カスタマイズオプション

カスタマイズオプション

カスタマイズ内容

具体的な概要

  • カスタマイズ内容はありません

  • 生体検知 SDK をそのまま使用します

統合手順については、 インターフェース呼び出しプロセスをご参照ください。

部分的

以下を含むインターフェースの基本要素を変更します

  • ビューのレイアウト

  • 写真、文字、ボタン、背景色、その他の変更

  • その他のインターフェース要素の追加または非表示

1. 標準のサイレント生体検知SDKを統合します 2. 以下のようにリソースファイルを変更または置換します 1) //インターフェースのレイアウト、写真要素、プロンプトの文字の変更 : - (void)setupUI 2) //画像リソースの変更 パス: libSTSilentLivenessController/ st_silent_liveness_resource.bundle/ images

フル

UI のリデザイン

1. 標準のサイレント生体検知SDKを統合します 2. STSilentLivenessViewクラスを書き換えます

最終更新