反应原生短消息用户同意
反应原生包装为Android的SMS用户同意API,准备在反应原生应用程序中使用并尽量少用. 短信用户同意API的目的是提供单塔自动填充短信验证码.
iOS系统
短消息用户同意API只存在于Android上,因此这个包只存在于Android上. 在iOS上调用这个软件包的API是没有的.
如果你想在iOS上自动填充, textContentType="oneTimeCode" 页:1 TextInput 是该走了。 基本上,这是iOS的唯一方法.
开始
安装 软件包数字 :
yarn add @eabdullazyanov/react-native-sms-user-consent
或者说
npm install @eabdullazyanov/react-native-sms-user-consent
基本用途
import React, { useEffect, useState } from 'react';
import { TextInput } from 'react-native';
import { useSmsUserConsent } from '@eabdullazyanov/react-native-sms-user-consent';
const Example = () => {
const [code, setCode] = useState();
const retrievedCode = useSmsUserConsent();
useEffect(() => {
if (retrievedCode) setCode(retrievedCode);
}, [retrievedCode]);
return <TextInput value={code} onChangeText={setCode} />;
};
举个例子,我们用控制器 TextInput 代码条目. retrievedCode 初始等于空字符串, 当处理短消息时 retrievedCode 从它得到代码。 我们使用 useEffect 用于处理短信时更新输入值.
自定义校验代码解析器
设定验证代码的长度 :
const retrievedCode = useSmsUserConsent(4);
// e.g. code = 1234
提供自定义正则表达式 :
const retrievedCode = useSmsUserConsent('[A-Z0-9]{5}');
// e.g. code = A12B3
API 密码
用户同意( )
useSmsUserConsent(config: number | string): string
启动短消息处理并作为其返回值提供已接收代码的反向钩,这是最初的空字符串. 停止在卸载时处理短消息 。 用途 startSmsHandling 财务报告和审定财务报表 retrieveVerificationCode 内部.
这种钩子在多数情况下都是走道. 或者,你可以使用 startSmsHandling 财务报告和审定财务报表 retrieveVerificationCode 直接处理不是功能组件的东西,或者你需要一些更大的灵活性.
在iOS上,它只是返回了空字符串,所以不需要额外的代码来处理iOS.
接受可选选项 config 参数。 如果是一个数字,它定义了代码的长度. 如果是字符串,它定义了自定义的RegExp来解析代码.
启动SmsHandling ()
startSmsHandling(onSmsReceived: (event: {sms?: string}) => void): (
stopSmsHandling(): void
)
启动本地短消息监听器, 以显示短消息用户同意系统提示 。 如果用户允许阅读短消息,那么 onSmsReceived 召回名为. onSmsReceived 收到含有短消息的事件对象.
回返 stopSmsHandling 函数,它停止显示系统提示并停止短消息处理.
检索验证码( )
retrieveVerificationCode(sms: string, config: number | string): string | null
如果有的话,从短信处获取核查码.
接受可选选项 config 参数。 如果是一个数字,它定义了代码的长度. 如果是字符串,它定义了自定义的RegExp来解析代码.
如果您喜欢, 可以将整个 API 导入为一个对象
import SmsUserConsent from 'react-native-sms-user-consent';
// ...
SmsUserConsent.useSmsUserConsent();
// ...
帮助
如果您对项目有任何想法或发现错误或有问题,请随意用所有相关信息创建问题. 我们致力于尽快作出反应。 以下信息将使解决问题的速度更快:
- 设备或模拟器模型
- 机器人版本
- 您的环境信息 - 输出
npx react-native info命令
捐款
公关总是受欢迎的. 如果你愿意为这个项目捐款,请。 最好能向公关提供所有相关信息.
要改变,你需要遵循这些步骤:
- 复制还原
- 进行修改
- 测试更改
- 创建 PR
- 🥳