Android
Android(안드로이드) 구글 로그인 하기 소스편.
일용직 코딩노동자
2022. 8. 25. 14:48
728x90
반응형
기본셋팅을 안하신분들은
https://onedaycodeing.tistory.com/187
Android(안드로이드) 구글 로그인 하기 기본셋팅편.
우선 파이어베이스에 프로젝트를 등록해주세요. https://onedaycodeing.tistory.com/17 안드로이드 스튜디오 파이어베이스 연동 https://firebase.google.com/ 이사이트에 들어가시면 이런 그림을 보실 수 있습니.
onedaycodeing.tistory.com
해당 게시글을 보시고 와주세요!
build.gradle에서 의존성 추가해줍니다.
//구글로그인
implementation 'com.google.android.gms:play-services-auth:20.2.0'
전역변수 하나 만들어줍니다!
var mGoogleSignInClient : GoogleSignInClient? = null
onCreate에서
구글 로그인에 대한 인스턴스를 생성해줍니다.
val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build()
mGoogleSignInClient = GoogleSignIn.getClient(this, gso)
이제 버튼 하나 만들어주세요.
그 버튼 클릭이벤트에
fun googleLogin() {
val signInIntent = mGoogleSignInClient!!.signInIntent
googleLoginLauncher.launch(signInIntent)
}
이녀석을 호출해주세요.
var googleLoginLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == -1) {
val data = result.data
val task = GoogleSignIn.getSignedInAccountFromIntent(data)
getGoogleInfo(task)
}
}
fun getGoogleInfo(completedTask: Task<GoogleSignInAccount>) {
try {
val TAG = "구글 로그인 결과"
val account = completedTask.getResult(ApiException::class.java)
Log.d(TAG, account.id!!)
Log.d(TAG, account.familyName!!)
Log.d(TAG, account.givenName!!)
Log.d(TAG, account.email!!)
}
catch (e: ApiException) {
Log.w(TAG, "signInResult:failed code=" + e.statusCode)
}
}
이렇게하시면 회원정보 얻는데까지 성공입니다.
728x90
반응형