1

我正在尝试otp使用react-native-sms-retrieveron自动验证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

请帮助我摆脱它。

4

3 回答 3

1

我尝试了两个库进行自动 otp 验证,但没有一个对我有用,然后我尝试使用以下库,它工作正常。请检查我上传的答案

自动 otp 验证

于 2019-09-27T10:59:39.840 回答
0

请检查您的游戏服务是否是最新的。我有同样的问题,并通过更新播放服务来解决它。

于 2021-05-14T06:08:18.957 回答
0

这基本上是一个关键问题。您在消息中发送的十六进制代码密钥可能不正确,这会导致此问题。尝试生成一个完美的密钥并将其发送到消息中。

注意生产密钥和调试密钥是不同的。你的看起来像调试密钥。

https://github.com/Bruno-Furtado/react-native-sms-retriever/issues/4

这个问题的答案会帮助你。

于 2019-09-20T10:28:55.360 回答