You could use autofill from another input by using OTPStrategy. (e.g. from push-notification)
For testing you could create TestStrategy.
in iOS OTP autofill is built in
Code from sms store for 3 minutes.
Rules for sms
- Sms must contain the word
codeor it translation to ios supported localizations.
- Must be only one digit sequence in sms.
iOS can receive number from any other number.
OTPInteractor.hint - show system dialog to select saved phone numbers (recommendation from google)
OTPInteractor.getAppSignature - create hash-code of your application, that used in SMS Retriever API
OTPInteractor.startListenUserConsent - BroadcastReceiver start listen for code from Google Services for 5 minutes. Above 5 minutes raise timeout exception. Using SMS User Consent API
OTPInteractor.startListenRetriever - BroadcastReceiver start listen for code from Google Services for 5 minutes. Above 5 minutes raise timeout exception. Using SMS Retriever API
OTPInteractor.stopListenForCode - use in dispose
Plugin receive full sms text, need parser for sms.
If you use SMS User Consent API then system ask for permission to reed incoming message.
Rules for sms. SMS User Consent API
- The message contains a 4-10 character alphanumeric string with at least one number.
- The message was sent by a phone number that's not in the user's contacts.
- If you specified the sender's phone number, the message was sent by that number.
Rules for sms. SMS Retriever API
- Be no longer than 140 bytes
- Contain a one-time code that the client sends back to your server to complete the verification flow
- Include an 11-character hash string that identifies your app (documentation for server, for testing you can get in from
senderPhone argument. Application start receiving code from this number.
You could user
OTPInteractor to interact with OTP.
For easy implementation you could use
OTPTextEditController as a controller to your
OTPTextEditController.startListenUserConsent - use SMS User Consent API, and custom strategies.
OTPTextEditController.startListenRetriever - use SMS Retriever API, and custom strategies.
OTPTextEditController.startListenOnlyStrategies - listen only custom strategies.
OTPTextEditController.stopListen - use in dispose.
otp_autofill to your
dependencies: otp_autofill: ^1.0.0
You can use both
dev versions of the package listed above in the badges bar.
All notable changes to this project will be documented in this file.
For issues, file directly in the main SurfGear repo.
If you would like to contribute to the package (e.g. by improving the documentation, solving a bug or adding a cool new feature), please review our contribution guide first and send us your pull request.
You PRs are always welcome.
How to reach us
Please feel free to ask any questions about this package. Join our community chat on Telegram. We speak English and Russian.