テスト用のサンプルプロジェクトは、AndroidStudioで提供されています。インポートするには、次の手順を参照してください。
File > New > Import Projectをクリックし、Sampleを選択してAndroidStudioにインポートしてください。
アカウント情報API_KEY と API_SECRETを入力してください。
Copy private static final String API_KEY = "Please input API_KEY";
private static final String API_SECRET = "Please input API_Secret"; 2.2 Android Studioへの統合
2.2.1 方法1:モジュール依存の簡易統合
File > New > Import Module ... から../Sample/common-silentを選択し、 Import common-silentをインポートモジュールとしてプロジェクトにインポートし、アプリケーションプロジェクトのbuild.gradleに依存関係を追加します。
Copy implementation project(':common-silent') プロジェクト(アプリプロジェクトと同じレベル)の下にリポジトリを作成し、liveness-silent-online-cn-release.aarをこのディレクトリにコピーしてください。ルートディレクトリのbuild.gradleを変更し、次のようにリポジトリに構成を追加してください。
Copy allprojects {
repositories {
google()
jcenter()
flatDir {
dirs '../repositories'
}
}
} 次の例のように、AndroidManifest.xmlに権限ステートメントを追加してください。
次の例のように、AndroidManifest.xmlにActivityステートメントを追加してください。
静的生体検知は、SilentLivenessActivityを呼び出すことで使用できます。詳細については、サンプルのStartPageFragmentのstartDetectionActivity()メソッドを参照してください。
2.2.2 方法2:libsメソッドを使用した高度な統合とcommon-silentの代わりにSDKを利用するカスタマイズ開発
該当するアプリモジュールの下に新しいlibsフォルダーを作成し(libsフォルダーが既に存在する場合は不要)、liveness-silent-online-cn-release.aarをlibsにコピーしてください。 アプリケーションモジュールの下にあるbuild.gradleに次の構成を追加してください。
そうすると、SDKを直接呼び出して開発することができます。
コードの難読化後にクラッシュが発生する可能性があるため、最初に難読化の構成によってコードの難読化の問題を解決することを推奨します。
具体的には、次のコードがproguardファイルに追加されることで、この問題を解決します。
2.4 インターフェース呼び出しプロセス
ライセンスファイルとモデルファイルは、事前に端末にコピーする必要があります。
FileUtil.copyAssetsToFileを呼び出すか、他のメソッドを使用してサンプルを参照してください。その後、SilentLivenessApiでinitメソッドを呼び出してください。
生体検知にパスできる最小検出時間と最小検出フレーム数を設定する必要がある場合は、initメソッドを調整してからsetPassConditionメソッドを呼び出すことで設定できます。メソッドの説明については、2.4.2節 生体検知のオプション条件設定 を参照してください。
品質検出の設定
2.4.2 生体検知のオプション条件設定
SilentLivenessApiの中から、次のメソッドを呼び出して設定します。
生体検知パスの条件を設定します。setPassCondition(final int minDuration, final int minFrames)
タイムアウト時間を秒単位で設定します。デフォルトのタイムアウト時間は10秒です。setDetectTimeout(int timeout)
顔との距離の判定条件を設定します。 パラメータ値の範囲内にない場合また、closeRateは0ではない、かつfarRateはcloseRateより大きい場合は、STID_E_FARCLOSE_INVALIDのエラーが発生します:setFaceDistanceRate(float farRate, float closeRate)
眉毛の遮蔽検知機能が必要かどうかを設定します。デフォルトはfalseです。:setBrowOcclusionEnable(final boolean enable)
顔の遮蔽検知機能が必要かどうかを設定します。デフォルトはfalseです。:
setOcclusionEnable(final boolean enable)
生体検知のしきい値を設定します。setThreshold(final float threshold)
目の開き状態のしきい値を設定します。setEyeOpenThreshold(final float threshold)
ぼやけさ検知機能が必要かどうかとそのしきい値を設定します。setBlurryFilterEnable(final boolean enable, final float threshold)
照明条件検知機能が必要かどうかとそのしきい値を設定します。
setIlluminationFilterEnable(final boolean enable, final float lowLightThreshold, final float brightThreshold)
SilentLivenessApi start()メソッドを呼び出して、テストを開始する準備をします。
メソッドの説明:テストを開始する準備をします。
SilentLivenessApi inputDataメソッドを呼び出して、検出用の画像データやその他のパラメーターを入力します。
メソッドの説明:検出用画像の入力。
OnLivenessListenerにメソッドを実装して、検出結果を取得します。
メソッドの説明:完全な初期化。
メソッドの説明:照準ステータスを更新します。
メソッドの説明:生体検知が失敗しました。
メソッドの説明:生体検知が成功しました。
2.4.6 検出を停止し、ステータスをリセット
SilentLivenessApistopメソッドを呼び出します。
メソッドの説明:現在の検出を停止し、検出ステータスをリセットします。 このメソッドは、失敗後に再試行するために使用されます。 initが成功した後、releaseが呼び出される前に呼び出す必要があります。 呼び出された後、startを使用してdetection.silentlivenessapi.mdを再開できます)
2.4.7 検出をキャンセルしてリソースを解放
SilentLivenessApiリリースメソッドを呼び出します。
メソッドの説明:検出をキャンセルし、リソースを解放します。
2.5 顔比較のためにプライベートクラウドインターフェースを呼び出し
生体検知が成功すると、SDKは対応する顔画像と暗号化されたバイナリファイルを返します。戻り値は、顔を比較するためのプライベートクラウドインターフェイスのパラメーターとして使用できます。
プライベートクラウドインターフェースの具体的な説明については、SenseIDプライベートクラウドAPIマニュアルarrow-up-right を参照してください。