관리 메뉴

솜은 코튼

[Android] Google Login API 적용 방법 본문

Android/Java

[Android] Google Login API 적용 방법

솜.코 2021. 1. 5. 13:22

[참고 사이트 주소]

developers.google.com/identity/sign-in/android/start

 

Try Sign-In for Android  |  Google Sign-In for Android

Use our Android sample app to see how Sign-In works, or add Sign-In to your existing app. Required: The latest versions of Android Studio and Google Play Services. Get the project If this is your first time using a Google services sample, check out the goo

developers.google.com

 

프로젝트 구성

    1. 원하는 프로젝트 선택
       :Firebase에 등록된 작업할 프로젝트 선택


    2. 원하는 플랫폼 선택
       :해당 글은 Android OS 기반을 작업한 내용입니다.


    3. 패키지명 & SHA-1 등록
       :해당 프로젝트의 패키지명과 빌드 환경의 SHA-1 등록


    3-1. Android Studio 환경에서 SHA-1 확인 방법
       :우측 Gradle 탭을 선택 후 해당 앱 > Tasks > android > signingReport 를 클릭하면 하단에 정보가 출력됩니다.

 

소스 구현

    1. build.gradle 파일

 

    1-1 Project 단 build.gradle 파일

    1-2 Module 단 build.gradle 파일


    2. client id 셋팅
       :res > values > strings.xml 파일에 client id 입력

 


    3. Google Login Code


    3-1. Login 화면 호출 

       :사용자 ID, 이메일 주소 및 기본을 요청하도록 로그인 구성.

        DEFAULT_SIGN_IN에는 ID와 기본 프로필이 포함.


    3-2. Login 결과값 받기
       :해당 Activity의 onActivityResult 로 아래와 같이 정보를 받을 수 있습니다.

 


    3-3. Logout 호출 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if(mGoogleSignInClient == nullreturn;
mGoogleSignInClient.signOut()
        .addOnCompleteListener(callerObject, new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                task.addOnSuccessListener(callerObject, new OnSuccessListener<Void>() {
                    @Override
                    public void onSuccess(Void aVoid) {
                        Log.d("LOG""SUCCESS");
                    }
                });
                task.addOnFailureListener(callerObject, new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Log.d("LOG""FAIL");
                    }
                });
            }
        });
cs


    3-4. Login 상태 체크

1
2
3
4
5
if(GoogleSignIn.getLastSignedInAccount(callerObject)!=null){
    return true;
else{
    return false;
}
cs