Я пытаюсь заставить авторизацию телефона работать, но кажется, что она никогда не отправляет код на мой телефон. Я запускаю тест на эмуляторе, но ожидаю код на моем физическом устройстве. это возможно?
Я получаю в журнале регистрации следующее:
2020-02-19 22:44:18.848 3166-4598/? W/FirebaseAuth: [PhoneVerificationSession] PhoneVerificationSession constructor
2020-02-19 22:44:18.848 3166-11074/? W/FirebaseAuth: [PhoneNumberAuthPostProcessor] postProcess starts
2020-02-19 22:44:19.630 3166-3166/? W/FirebaseAuth: [PhoneVerificationSession] onFailure
2020-02-19 22:44:19.654 3166-11074/? W/FirebaseAuth: [PhoneNumberAuthPostProcessor] postProcess ends
Мой код соответствует стандартным документам Firebase:
callbacks = object : PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
override fun onVerificationCompleted(p0: PhoneAuthCredential) {
}
override fun onVerificationFailed(e: FirebaseException) {
if(e is FirebaseAuthInvalidCredentialsException){
phone_buyer_register.error = "Invalid phone number."
}else if (e is FirebaseTooManyRequestsException){
Log.d("tag", "failure")
Toast.makeText(applicationContext,"Quota exceeded",Toast.LENGTH_SHORT).show()
}
}
override fun onCodeSent(verificationId: String, token: PhoneAuthProvider.ForceResendingToken) {
otp_number_register.visibility = View.VISIBLE
otp_submit.visibility = View.VISIBLE
Log.d("Tag", "onCodeSent:$verificationId")
}
}
и моей проверке Вызов выглядит следующим образом:
private fun startPhonenumberVerification(phone:String) {
registerbtn.visibility = View.GONE
PhoneAuthProvider.getInstance().verifyPhoneNumber(
phone,60,TimeUnit.SECONDS,this,callbacks)
}
Оба callbacks
и startPhonenumberVerification()
находятся в списке щелчков. Что я делаю неправильно? Я пытаюсь сделать это поэтапно, то есть, по крайней мере, заставить отправку кода работать, прежде чем перейти к процессу входа, но я не могу найти свою ошибку здесь.