生物统计学
负责 Telegram 迷你应用程序生物测量功能的💠组件。
检查支持
要检查当前 Telegram 小应用程序版本是否支持生物测量,请使用 isSupported 方法:
ts
import { biometry } from '@telegram-apps/sdk';
biometry.isSupported(); // booleants
import { isBiometrySupported } from '@telegram-apps/sdk';
isBiometrySupported(); // boolean安装
在使用组件之前,必须先安装组件。
这个过程是异步的,因为生物测量数据需要向 Telegram 应用程序申请。 在进程中,isMounting 信号将被设置为 true,并在完成后更新为 false。
如果挂载成功,isMounted 信号将设为 true。 如果出现错误,mountError 信号将反映错误。
ts
try {
const promise = biometry.mount();
biometry.isMounting(); // true
await promise;
biometry.isMounting(); // false
biometry.isMounted(); // true
} catch (err) {
biometry.mountError(); // equals "err"
biometry.isMounting(); // false
biometry.isMounted(); // false
}ts
import {
mountBiometry,
isBiometryMounting,
isBiometryMounted,
biometryMountError,
} from '@telegram-apps/sdk';
try {
const promise = mountBiometry();
isBiometryMounting(); // true
await promise;
isBiometryMounting(); // false
isBiometryMounted(); // true
} catch (err) {
biometryMountError(); // equals "err"
isBiometryMounting(); // false
isBiometryMounted(); // false
}要卸载,请使用 unmount 方法:
ts
biometry.unmount();
biometry.isMounted(); // falsets
import { unmountBiometry, isBiometryMounted } from '@telegram-apps/sdk';
unmountBiometry();
isBiometryMounted(); // false申请生物测量访问
要请求生物测量访问,请使用 requestAccess 方法。 它返回一个带有布尔 值的 promise,表示用户是否允许访问。
ts
const granted = await biometry.requestAccess(); // booleants
import { requestBiometryAccess } from '@telegram-apps/sdk';
const granted = await requestBiometryAccess(); // boolean认证
要验证用户身份并检索先前保存的令牌,请使用 authenticate 方法。
它可选择接受一个具有以下属性的对象:
reason?: string: 要向用户显示的身份验证原因。
该方法返回一个包含 status ('failed' 或'authorized')的对象,如果成功, token: string。
ts
const { status, token } = await biometry.authenticate({
reason: 'Please!',
});
if (status === 'authorized') {
console.log(`Authorized. Token: ${token}`);
} else {
console.log('Not authorized');
}ts
import { authenticateBiometry } from '@telegram-apps/sdk';
const { status, token } = await authenticateBiometry({
reason: 'Please!',
});
if (status === 'authorized') {
console.log(`Authorized. Token: ${token}`);
} else {
console.log('Not authorized');
}更新令牌
要更新本地安全存储中存储的令牌,请使用 updateToken 方法。
该方法接受一个带有 reason 和 token 属性的可选对象。 如果 未提供令牌,则会删除现有令牌。
它会返回一个带有布尔值的 promise,表示是否进行了任何更改。
ts
const updated = await biometry.updateToken({
reason: 'Want to delete',
});
await biometry.updateToken({
reason: 'Will set a new one',
token: 'new token',
});ts
import { updateBiometryToken } from '@telegram-apps/sdk';
const updated = await updateBiometryToken({
reason: 'Want to delete',
});
await updateBiometryToken({
reason: 'Will set a new one',
token: 'new token',
});打开设置
要打开生物测量相关设置模式,请使用 openSettings 方法。 该方法只能通过 响应用户交互来触发。
ts
biometry.openSettings();ts
import { openBiometrySettings } from '@telegram-apps/sdk';
openBiometrySettings();