Не удалось отправить номер телефона Firebase OTPAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Не удалось отправить номер телефона Firebase OTP

Сообщение Anonymous »

Я создаю простое приложение для чата в студии Android, но не удалось отправить OTP-код номера телефона, хотя для запуска приложения я использовал реальное устройство (samsung galaxy a52 android 14).
Вот код:

Код: Выделить всё

package com.daffakhairy.easychat;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;

import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

import com.daffakhairy.easychat.utils.AndroidUtil;
import com.google.firebase.Firebase;
import com.google.firebase.FirebaseException;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.PhoneAuthCredential;
import com.google.firebase.auth.PhoneAuthOptions;
import com.google.firebase.auth.PhoneAuthProvider;
import com.google.firebase.firestore.FirebaseFirestore;

import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;

public class LoginOtpActivity extends AppCompatActivity {

String phoneNumber;
Long timeoutSeconds = 60L;
String verificationCode;
PhoneAuthProvider.ForceResendingToken resendingToken;

EditText otpInput;
Button nextBtn;
ProgressBar progressBar;
TextView resendOtpTextView;
FirebaseAuth mAuth = FirebaseAuth.getInstance();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_login_otp);

otpInput = findViewById(R.id.login_otp);
nextBtn = findViewById(R.id.login_next_btn);
progressBar = findViewById(R.id.login_progress_bar);
resendOtpTextView = findViewById(R.id.resend_otp_textview);

phoneNumber = getIntent().getExtras().getString("phone");

sendOtp(phoneNumber, false);
}

void sendOtp(String phoneNumber,boolean isResend){
setInProgress(true);
PhoneAuthOptions.Builder builder =
PhoneAuthOptions.newBuilder(mAuth)
.setPhoneNumber(phoneNumber)
.setTimeout(timeoutSeconds, TimeUnit.SECONDS)
.setActivity(this)
.setCallbacks(new
PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
@Override
public void onVerificationCompleted(@NonNull PhoneAuthCredential phoneAuthCredential) {
signIn(phoneAuthCredential);
setInProgress(false);
}

@Override
public void onVerificationFailed(@NonNull FirebaseException e) {
AndroidUtil.showToast(getApplicationContext(),"OTP verification failed");
setInProgress(false);
}

@Override
public void onCodeSent(@NonNull String s, @NonNull PhoneAuthProvider.ForceResendingToken forceResendingToken) {
super.onCodeSent(s, forceResendingToken);
verificationCode = s;
resendingToken = forceResendingToken;
AndroidUtil.showToast(getApplicationContext(),"OTP sent successfully");
setInProgress(false);
}
});
if(isResend){
PhoneAuthProvider.verifyPhoneNumber(builder.setForceResendingToken(resendingToken).build());
}else{
PhoneAuthProvider.verifyPhoneNumber(builder.build());
}
}

void setInProgress(boolean inProgress){
if(inProgress){
progressBar.setVisibility(View.VISIBLE);
nextBtn.setVisibility(View.GONE);
}else {
progressBar.setVisibility(View.GONE);
nextBtn.setVisibility((View.VISIBLE));
}

}

void signIn(PhoneAuthCredential phoneAuthCredential){
//login and go to next activity
}

}
и вот ошибка в logcat:

Не удалось инициализировать конфигурацию reCAPTCHA: для Recaptcha Enterprise siteKey не настроено арендатор/проект *

[SmsRetrieverHelper] Ошибка запроса кода подтверждения по SMS: неизвестный код состояния: 17499 BILLING_NOT_ENABLED

Я еще не преодолел лимит в 10, добавил ключ sha 1 и все необходимые зависимости

Подробнее здесь: https://stackoverflow.com/questions/792 ... ed-to-send
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»