touchID封装了iphone5s以后版本的手机特有的指纹识别功能,调用此原生插件可实现用户指纹输入验证登陆app 。使用本原生插件需要支持指纹识别的手机和iOS8.0以上的操作系统,Android使用本原生插件需要支持指纹识别硬件的手机和Android 6.0 及以上;
iOS端云编译是配置Face ID
在苹果某些机型上没有 Touch ID,取而代之的是 Face ID,使用 Face ID 需要在云编译时勾选 Face ID,填写提示语(最好不要少于12字符)申请访问 Face ID 权限。
Android 端注意事项:
(1)Android使用本原生插件需要支持指纹识别的硬件和Android 6.0 及以上
(2)你的设备必须是使用屏幕锁保护的,这个屏幕锁可以是password,PIN或者图案都行
(3)用户必须首先在setting中注册至少一个指纹才行,否则是不能使用的
(4)指纹识别的失败次数因手机厂商不同可能会不同,当返回失败次数过多,请稍后在尝试时,一段时间是不可以进行指纹识别.
当前设备是否支持指纹识别功能
isValid()
ret:
{
status: //布尔类型;是否支持,true|false
code: //数字类型:Android在status为false时返回此字段:
取值如下: 1:手机版本不是6.0及以上版本手机不能使用
2:没有指纹识别权限;
3:手机硬件不支持指纹识别
4:没有开启屏幕锁功能请先在手机设置中进行开启
5:普通app要想使用指纹识别功能的话,用户必须首先在手机setting中注册至少一个指纹才行,
否则是不能使用的。所以这里我们需要检查当前系统中是不是已经有注册的指纹信息了
}
var touchID = api.require('touchID');
touchID.isValid(function(ret) {
if (ret.status) {
api.alert({ msg: "支持指纹识别功能!" });
} else {
api.alert({ msg: "不支持指纹识别功能!" });
}
});
iOS11 及以上系统Android 适用于6.0及以上系统且硬件支持
可提供的1.0.0及更高版本
弹出验证界面,验证用户指纹(android无UI界面)
verify({params},callback())
title:(Android无需此字段)
hasPassword:(Android无需此字段)
ret:
{
status: false, //布尔类型;是否验证通过,true|false
msg:, //字符串类型;错误信息
code: //数字类型;返回验证未通过信息,取值范围如下:
0: //用户选择手动输入(ios)
1: //用户取消验证
2: //验证三次失败
3: //(ios)多次验证失败请锁定手机;(android)多次验证失败 ,请稍后重试,
4: //验证失败,未知错误
5: //用户未开启指纹验证设备
}
var touchID = api.require('touchID');
touchID.verify({
title: '验证指纹'
}, function(ret) {
if (ret.status) {
api.alert({ msg: "验证通过" });
} else {
if (ret.code == 0) {
api.alert({ msg: "用户选择手动输入" });
} else if (ret.code == 1) {
api.alert({ msg: "用户取消验证" });
} else if (ret.code == 2) {
api.alert({ msg: "验证三次失败" });
} else if (ret.code == 3) {
api.alert({ msg: "多次验证失败请锁定手机" });
} else {
api.alert({ msg: "验证失败,未知错误" });
}
}
});
iOS11及以上系统,Android6.0 及以上系统且硬件支持
可提供的1.0.0及更高版本
取消认证
cancelVerify()
var touchID = api.require('touchID');
touchID.cancelVerify();
Android6.0 及以上系统且硬件支持
可提供的1.0.0及更高版本