##①内容
指紋認証をアプリに組み込む際に懸念していることをつらつらと書いてみました
(あくまで個人的な考えです)
##②アプリへの実装方式
-
Androidの場合
Android Marshmallow (Android 6.0.0)以上の場合はFingerPrint、
Android Pie (Android 9.0.0)以上の場合はBiometricPromptを使うかと思います
上記以外は指紋認証センサー(Nexus Imprintセンサー)がないので諦める -
iOSの場合
iPhone 5s以降でiOS 8.0 以上のiPhoneの場合はLocalAuthenticationを使ってTouch IDを呼び出す
上記以外のバージョンはtouch IDが無いので諦める
iPhone X・iPhone XS・iPhone XRの場合もtouch IDが無いので諦めるかFace IDで対応する -
ハイブリッドの場合
Cordova(Monaca)で想定しています。
cordova-plugin-keychain-touch-idをインストールして、使用する。
なお、サードパーティ製APIなので、Proプランへの登録が必要
(サードパーティ製なので、問題なく開発時に受け入れられるかという点も考慮する)
この場合も当然ですが、端末に機能が無ければ無理なので、注意する
##③設計時の考慮
社内で展開して同じ端末しか使わない、修理は正規の業者に依頼する場合には不要の観点です。
特定の端末は動作対象外としてアプリを開発・登録する、別方法の認証を用意するなどで回避する必要があると思います
-
端末のバージョンにより指紋認証ができない場合を考慮する
②に書いた通り、端末が対応していなければお話にならない -
端末に不具合が生じて指紋認証ができない場合を考慮する
例えば、非正規の店で画面修理をした場合です。
iPhoneやiPadではiOSのアップデートやバックアップ復元時に他の部品が正規のものであるかチェックして、非正規以外の物があればブート時にエラー53と出て、Touch IDが利用できなくなります。
(ちなみに私の実例です。。。)
#④まとめ
アプリを開発する時には対象OS・バージョンなどを考慮する必要があるのは当然ですが、ユーザの不手際により一部機能が使用できなくなった時のことも考える必要があると思いました。
最近アプリ開発を始めてみましたが、バージョンの考慮が本当に大変ですね。。。