我正在尝试使用otp
上的react-native-sms-retriever
自动验证android devices
。
我尝试了以下方法来实现。
import SmsRetriever from 'react-native-sms-retriever';
// Get the phone number (first gif)
_onPhoneNumberPressed = async () => {
try {
const phoneNumber = await SmsRetriever.requestPhoneNumber();
} catch (error) {
console.log(JSON.stringify(error));
}
};
// Get the SMS message (second gif)
_onSmsListenerPressed = async () => {
try {
const registered = await SmsRetriever.startSmsRetriever();
if (registered) {
SmsRetriever.addSmsListener(event => {
console.log(event.message);
SmsRetriever.removeSmsListener();
});
}
} catch (error) {
console.log(JSON.stringify(error));
}
};
以下是我的OTP格式
OTP for your login to Orgpick is 3242. Please enter OTP within 10 minutes.
我还创建了sms
格式,如下所示,虚拟密钥-SZ3KPh5voKE
请使用以下sms
格式指导我。
我是否需要从服务器端获取相同的格式?
需要在服务器端进行哪些更改?
<#>OTP for your login to Orgpick is 3242. Please enter OTP within 10 minutes.SZ3KPh5voKE
在尝试上述解决方案时,它会显示 time out exception
请帮助我摆脱困境。
答案 0 :(得分:1)
我已经尝试了两个用于自动otp验证的库,但是它们都没有为我工作,因此我尝试了以下库的正常工作。请检查答案,我已在此处上传
答案 1 :(得分:0)
基本上,这是一个关键问题。您在消息中发送的十六进制代码密钥可能不正确,这导致了此问题。尝试生成一个完美的密钥并将其发送给消息。
注释生产密钥和调试密钥不同。您看起来像调试键。
https://github.com/Bruno-Furtado/react-native-sms-retriever/issues/4
此问题的答案将为您提供帮助。
答案 2 :(得分:0)
请检查您的播放服务是否是最新的。我遇到了同样的问题,并通过更新播放服务解决了这个问题。