우선 파이어베이스 콘솔에 들어가주세요.
https://console.firebase.google.com/
프로젝트를 들어가주시면 왼쪽에
Authentication을 들어가주세요.
로그인 방법 설정 클릭
새 제공업체 추가
전화버튼 클릭
사용 설정을 체크해주세요.
여기서 안드로이드 클릭하시면 기본적인 의존성추가부분이 나옵니다.
저는
implementation platform('com.google.firebase:firebase-bom:29.0.2')
implementation 'com.google.firebase:firebase-analytics-ktx'
이렇게 추가했습니다.
그리고 전역변수?(상수) 로
val auth = Firebase.auth
var verificationId = ""
auth, verificationId 를 생성해줍니다.
val callbacks = object : PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
override fun onVerificationCompleted(credential: PhoneAuthCredential) { }
override fun onVerificationFailed(e: FirebaseException) {
}
override fun onCodeSent(verificationId: String, token: PhoneAuthProvider.ForceResendingToken) {
this@MainActivity.verificationId = verificationId
}
}
val optionsCompat = PhoneAuthOptions.newBuilder(auth)
.setPhoneNumber("+821012345678")
.setTimeout(60L, TimeUnit.SECONDS)
.setActivity(this)
.setCallbacks(callbacks)
.build()
PhoneAuthProvider.verifyPhoneNumber(optionsCompat)
auth.setLanguageCode("kr")
인증번호를 발송할 버튼리스너에 해당 코드를 작성해줍니다.
번호를 발송하면 verificationId값을 저장합니다 (이녀석은 나중에 인증번호 확인에 유용하게 쓰일녀석입니다)
핸드폰번호를 국제코드를 적어서 발송하셔야합니다!
국제코드 변환이 귀찮으신 분들께서는
https://onedaycodeing.tistory.com/172
해당 게시글을 참조해주세요!
자! 이제 발송을 했으면 인증여부를 확인해야합니다.
EditText에 인증번호를 적으셨을것이고 이제 인증번호 확인하는 버튼리스너에 코드를 작성하겠습니다.
우선 함수하나 셋팅해줍니다.
private fun signInWithPhoneAuthCredential(credential: PhoneAuthCredential) {
auth.signInWithCredential(credential)
.addOnCompleteListener(this) { task ->
if (task.isSuccessful) {
//인증성공
}
else {
//인증실패
}
}
}
그리고 인증번호 확인버튼 리스너에
val credential = PhoneAuthProvider.getCredential(verificationId, "EditText에 적은 인증번호값")
signInWithPhoneAuthCredential(credential)
이렇게 해주시면 위 함수가 호출되어 성공 및 실패여부를 알 수 있습니다.
여기서 인증번호를 발송하는데 자동으로 입력을 하고싶다! 하시는 분들께서는
https://onedaycodeing.tistory.com/170
이쪽 게시글을 참조해주세요
그리고 번호 발송 시 로봇체크 뜨시는 분들이 계실거에요.
Verifting you're not a robot...이렇게요
이런분들은 조금 복잡하긴 한데
https://onedaycodeing.tistory.com/175
해당 게시글을 봐주세요!
'Android' 카테고리의 다른 글
아고라 플랫폼을 이용한 안드로이드 라이브스트리밍(RTSP) - 1 (0) | 2022.05.12 |
---|---|
파이어베이스 휴대폰인증 로봇체크(reCaptcha) 생략하기! (0) | 2022.02.15 |
코틀린 네트워크 상태 체크 (0) | 2022.02.04 |
코틀린 안드로이드 핸드폰번호 국가코드로 변환시키기 (0) | 2022.02.04 |
코틀린 안드로이드 핸드폰번호 패턴체크 (0) | 2022.02.03 |
댓글