패스트캠퍼스 챌린지

[패스트캠퍼스 캠퍼스 27일차] Android tinder Facebook Login

Tinder앱에 facebook 로그인 기능을 구현하기 위해 먼저 UI를 구성해주었습니다.

<com.facebook.login.widget.LoginButton
        app:layout_constraintTop_toBottomOf="@+id/loginButton"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        android:layout_width="0dp"
        android:layout_marginTop="30dp"
        android:id="@+id/facebookLoginButton"
        android:layout_height="wrap_content"/>

facebook 로그인 버튼의 기능을 초기화 해주었습니다.

private fun initFacebookLoginButton(){
        val facebookLoginButton = findViewById<LoginButton>(R.id.facebookLoginButton)
        facebookLoginButton.setPermissions("email", "public_profile")
        facebookLoginButton.registerCallback(callbackManager, object : FacebookCallback<LoginResult>{
            override fun onSuccess(result: LoginResult) {
                val credential = FacebookAuthProvider.getCredential(result.accessToken.token)
                auth.signInWithCredential(credential)
                    .addOnCompleteListener { task ->
                        if(task.isSuccessful){
                            finish()
                        }else{
                            Toast.makeText(this@LoginActivity, "페이스북 로그인에 실패했습니다.", Toast.LENGTH_SHORT).show()
                        }
                    }
            }

            override fun onCancel() {
                TODO("Not yet implemented")
            }

            override fun onError(error: FacebookException?) {
                Toast.makeText(this@LoginActivity, "페이스북 로그인에 실패했습니다.", Toast.LENGTH_SHORT).show()
            }

        })

    }
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        callbackManager.onActivityResult(requestCode, resultCode, data)
    }

패스트캠퍼스 바로가기 -> https://bit.ly/3FVdhDa

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.