#flutter #flutter-layout #flutter-dependencies #flutter-test #one-time-password
Вопрос:
Я пытаюсь отправить otp с помощью Flutter OTP https://pub.dev/packages/flutter_otp. И я не с нетерпением жду отправки OTP с авторизацией Firebase. Когда пользователь передает номер телефона через мое приложение, я хочу отправить OTP и подтвердить его обратно. Но я наткнулся на этот Flutter_otp, где он не требует firebase, а его зависимости https://pub.dev/packages/sms и только порхать. Вот фрагмент кода, в котором я хотел проверить, отправлен ли OTP или нет.
import 'package:flutter/material.dart';
import 'package:flutter_otp/flutter_otp.dart';
class MyAppextends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
const MyPailaApp({Key key}) : super(key: key);
TextEditingController _controller = new TextEditingController();
FlutterOtp otpsender = new FlutterOtp();
@override
void dispose() {
super.dispose();
_controller.dispose();
}
@override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.symmetric(horizontal: 16.0),
child: TextField(
cursorColor: Colors.black,
controller: _controller,
decoration: InputDecoration(
hintText: 'Tap to type',
suffixIcon: IconButton(
icon: Icon(Icons.send, color: Colors.black,),
onPressed: (){
setState(() {
otpsender.sendOtp(_controller.text, 'OTP is : pass the generated otp here ',
100000, 999999, ' 977');
_controller.clear();
});
},
),
),
),
);
}
}
Но после нажатия на значок в текстовом поле я получаю следующую ошибку, и OTP также не отправляется.
Running with unsound null safety
For more information see https://dart.dev/null-safety/unsound-null-safety
Debug service listening on ws://127.0.0.1:57564/Qnt0yPHy_eA=/ws
Error: MissingPluginException(No implementation found for method sendSMS on channel plugins.babariviere.com/sendSMS)
at Object.throw_ [as throw] (http://localhost:58819/dart_sdk.js:5348:11)
at MethodChannel._invokeMethod (http://localhost:58819/packages/flutter/src/services/system_channels.dart.lib.js:962:21)
at _invokeMethod.next (<anonymous>)
at http://localhost:58819/dart_sdk.js:39230:33
at _RootZone.runUnary (http://localhost:58819/dart_sdk.js:39087:58)
at _FutureListener.thenAwait.handleValue (http://localhost:58819/dart_sdk.js:34073:29)
at handleValueCallback (http://localhost:58819/dart_sdk.js:34633:49)
at Function._propagateToListeners (http://localhost:58819/dart_sdk.js:34671:17)
at _Future.new.[_completeWithValue] (http://localhost:58819/dart_sdk.js:34513:23)
at async._AsyncCallbackEntry.new.callback (http://localhost:58819/dart_sdk.js:34536:35)
at Object._microtaskLoop (http://localhost:58819/dart_sdk.js:39374:13)
at _startMicrotaskLoop (http://localhost:58819/dart_sdk.js:39380:13)
at http://localhost:58819/dart_sdk.js:34887:9
======== Exception caught by services library ======================================================
The following MissingPluginException was thrown while activating platform stream on channel plugins.babariviere.com/statusSMS:
MissingPluginException(No implementation found for method listen on channel plugins.babariviere.com/statusSMS)
When the exception was thrown, this was the stack:
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 236:49 throw_
packages/flutter/src/services/platform_channel.dart 156:7 _invokeMethod
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50 <fn>
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/zone.dart 1613:54 runUnary
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/future_impl.dart 155:18 handleValue
...
====================================================================================================
Пожалуйста, помогите мне с этим.
Комментарии:
1. На какой платформе вы запускаете этот код?
2. В настоящее время для тестирования я запускаю его в Интернете.
3. Если приведенный ниже ответ помог вам, подумайте о том, чтобы отметить его как принятый ответ, чтобы мы могли помочь другим с тем же вопросом
Ответ №1:
Пакеты, которые вы используете, не поддерживаются в Интернете.
То же самое должно работать только на Android и iOS.
Сообщение об ошибке MissingPluginException(No implementation found for method listen on channel plugins.babariviere.com/statusSMS)
пытается сообщить об этом.
Все плагины на pub.dev отображают свои поддерживаемые платформы как мы видим, оба плагина, которые вы хотите использовать, не поддерживаются в Интернете, а только iOS и Android