生物统计学 负责 Telegram 迷你应用程序生物测量功能的💠组件。 检查支持要检查当前 Telegram 小应用程序版本是否支持生物测量,请使用 isSupported 方法: Variable : - import { biometry } from '@telegram-apps/sdk';
7 u! v$ Y1 E. R4 R7 X0 g4 n - + x3 f2 R( s5 `+ X2 V
- biometry.isSupported(); // boolean
复制代码Functions : - import { isBiometrySupported } from '@telegram-apps/sdk';, r2 c% k, t0 c B
- 3 D/ J! c" y7 G9 K
- isBiometrySupported(); // boolean
复制代码 安装在使用组件之前,必须先安装组件。 这个过程是异步的,因为生物测量数据需要向 Telegram 应用程序申请。 在进程中,isMounting 信号将被设置为 true,并在完成后更新为 false。 如果挂载成功,isMounted 信号将设为 true。 如果出现错误,mountError 信号将反映错误。 Variable : - try {
/ w6 k) w2 @ [3 [ - const promise = biometry.mount();
. Z& e4 M; D: |3 C% P& j% b - biometry.isMounting(); // true
I1 S% G5 V! @ - await promise;
: {8 g8 }# L9 M# _' N - biometry.isMounting(); // false
6 z' \4 @0 q) K5 s" e4 l7 g - biometry.isMounted(); // true
, \2 U r* s& ^ - } catch (err) {3 N6 J1 B6 o4 n0 a
- biometry.mountError(); // equals "err"
2 o! O2 G- }7 _) ?8 F7 | - biometry.isMounting(); // false- p4 R0 t0 C) n
- biometry.isMounted(); // false* }- Y6 T2 w5 x& v2 X( l
- }
复制代码Functions : - import {
. a/ Y3 u# p6 z3 a - mountBiometry,
6 c$ z6 B- `+ D5 C7 ^) L/ \+ n& Z3 Q - isBiometryMounting,) M# o( E+ |0 @& X( i
- isBiometryMounted,
& t+ ?4 L* O% K8 P0 }6 ^ - biometryMountError,( F1 P; M( E1 f. d I' F' L
- } from '@telegram-apps/sdk';1 o4 A7 C; U1 `
" n8 D+ U7 W% H- try {
) j' w4 k3 s; t7 t - const promise = mountBiometry();0 ? I$ [0 ]3 R+ B+ _
- isBiometryMounting(); // true; P- L! f* R' j' C6 k3 x
- await promise;
3 h7 T" k3 @7 |' K- u1 N3 { - isBiometryMounting(); // false! E& P* ]; ~/ X# B) [: _ i
- isBiometryMounted(); // true
, k6 g% ?* p- p X# k9 p - } catch (err) {
2 B4 ]6 H% y8 i - biometryMountError(); // equals "err"
- o( L8 F; P; ~! H" W - isBiometryMounting(); // false
7 d- _3 x6 c- n3 u6 r! Y2 M - isBiometryMounted(); // false( O; a2 a7 O- b" M
- }
复制代码
* E1 { [5 y' G6 h; j& |( H1 k要卸载,请使用 unmount 方法: Variable : - biometry.unmount();( W$ D$ p; d) h, \
- biometry.isMounted(); // false
复制代码Functions : - import { unmountBiometry, isBiometryMounted } from '@telegram-apps/sdk';5 ^: m) W0 ^* T* p2 }! R
8 V' C. ~# H, l- unmountBiometry();
' f6 t9 d5 k: K( K8 ` - isBiometryMounted(); // false
复制代码 申请生物测量访问要请求生物测量访问,请使用 requestAccess 方法。 它返回一个带有布尔 值的 promise,表示用户是否允许访问。 Variable : - const granted = await biometry.requestAccess(); // boolean
复制代码Functions : - import { requestBiometryAccess } from '@telegram-apps/sdk';- b+ @) r' ?$ e
) Y9 C: W# R( U, l( O- const granted = await requestBiometryAccess(); // boolean
复制代码 认证要验证用户身份并检索先前保存的令牌,请使用 authenticate 方法。 它可选择接受一个具有以下属性的对象: - reason?: string: 要向用户显示的身份验证原因。
1 F! [* l) @( ^1 o
该方法返回一个包含 status ('failed' 或'authorized')的对象,如果成功, token: string。 Variable : - const { status, token } = await biometry.authenticate({! m: f3 k; R9 R( S f
- reason: 'Please!',
$ m0 ]7 l7 }& y* h# t - });& h7 z% M5 M' L- x" z
- * S3 g4 f! E; o4 K# Q* @
- if (status === 'authorized') {4 W8 @- B% N$ u# `, S7 O! t
- console.log(`Authorized. Token: ${token}`);
. |9 I" }5 V" s1 H2 K - } else {6 }' Q0 y" |" [5 Y" n
- console.log('Not authorized');: }. k& A7 P5 F+ r/ i* Q' [
- }
复制代码Functions : - import { authenticateBiometry } from '@telegram-apps/sdk';
- o+ C" u: V( Y6 f+ P - 4 A$ F' A8 c& b& H: @" `
- const { status, token } = await authenticateBiometry({
- `8 X6 ]0 a- \3 R& g1 @ j4 y1 D# C - reason: 'Please!',& I- Z* \0 H) e0 |7 |/ J
- });
5 g! N! Q' O6 J+ @2 u" c w - - R& _4 X8 u N2 ~2 [9 c9 F. N# j# ^
- if (status === 'authorized') {
7 _! ?7 e6 F, I9 w3 j+ V. @ - console.log(`Authorized. Token: ${token}`);& O! M, G8 S& j- j, R- b( s
- } else {
4 s' }( n/ } T% c8 n+ A - console.log('Not authorized');
6 ?, w, B( i$ W$ X, Q/ w, P5 A% u - }
复制代码 更新令牌要更新本地安全存储中存储的令牌,请使用 updateToken 方法。 该方法接受一个带有 reason 和 token 属性的可选对象。 如果 未提供令牌,则会删除现有令牌。 它会返回一个带有布尔值的 promise,表示是否进行了任何更改。 Variable : - const updated = await biometry.updateToken({
; L% g3 p6 G0 _& M' Q% B& c3 k6 s# F8 t - reason: 'Want to delete',
, c6 U/ \! _6 |' _/ o* W; J - });
2 C2 G3 f# m* e9 O: d. [. P - ' J! [, b0 v! Y# z. g" j; \
- await biometry.updateToken({
W; G% |6 O7 }! C - reason: 'Will set a new one',. k; k8 m( N, ^8 h
- token: 'new token', W8 ^6 B, S$ Z+ ^
- });
复制代码Functions : - import { updateBiometryToken } from '@telegram-apps/sdk';: J. x# L1 o4 f+ N8 `3 A
5 q+ Y+ F; c/ m! S+ g6 p# E- const updated = await updateBiometryToken({
" \3 o& E% S% h! o& j, E) u - reason: 'Want to delete',- N8 q- Z# a; z5 ?- X, s
- });0 e5 [0 C: ^3 ^3 ?1 s. Q1 _ l/ q. ~
- & ]! c8 F8 r. M) P+ m% r
- await updateBiometryToken({2 \. n- S2 U/ x( c; M
- reason: 'Will set a new one',
6 M$ |- i9 l- S- a - token: 'new token',
$ g& n! v8 h7 }: o& W; T - });
复制代码 打开设置要打开生物测量相关设置模式,请使用 openSettings 方法。 该方法只能通过 响应用户交互来触发。 Variable : Functions : - import { openBiometrySettings } from '@telegram-apps/sdk';
& ~! z9 {* E7 J: `+ i, a8 W7 ^5 m - 0 ^7 G* ]( W7 K3 f# b
- openBiometrySettings();
复制代码
5 `6 }1 r1 r/ q" h* m5 O5 U
) R; u& @+ q% b# P+ R6 T! o |