Android
안드로이드에 구글 로그인 통합
수색…
소개
이 주제는 Google 로그인을 통합하는 방법, Android 앱에서하는 방법을 기반으로합니다.
프로젝트에 Google 인증 정보 통합. (구성 파일 가져 오기)
먼저 로그인을위한 구성 파일 가져 오기
아래 링크 열기
[ https://developers.google.com/identity/sign-in/android/start-integrating][1]
get a configuration file을 클릭하십시오.
- 앱 이름 및 패키지 이름을 입력하고 서비스 선택 및 구성을 클릭하십시오.
- SHA1 제공 Google SIGNIN 사용 및 구성 파일 생성
구성 파일을 다운로드하고 프로젝트의 app / 폴더에 파일을 저장하십시오.
- 프로젝트 수준 build.gradle에 종속성을 추가합니다.
classpath 'com.google.gms : google-services : 3.0.0'
- 앱 수준 build.gradle에 플러그인을 추가합니다. (아래)
플러그인 적용 : 'com.google.gms.google-services'
- 이 종속성을 앱 gradle 파일에 추가하십시오.
dependencies {compile 'com.google.android.gms : play-services-auth : 9.8.0'}
코드 구현 Google SignIn
- 로그인 활동의 onCreate 메소드에서 Google 로그인을 구성하여 앱에 필요한 사용자 데이터를 요청합니다.
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build();
- Google 로그인 API 및 지정한 옵션에 액세스 할 수있는 GoogleApiClient 객체를 만듭니다.
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
이제 사용자가 Google 서명 단추를 클릭하면이 기능을 호출합니다.
private void signIn() { Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); startActivityForResult(signInIntent, RC_SIGN_IN); }
OnActivityResult를 구현하여 응답을받습니다.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
handleSignInResult(result);
}
}
마지막 단계 결과 처리 및 사용자 데이터 가져 오기
private void handleSignInResult(GoogleSignInResult result) { Log.d(TAG, "handleSignInResult:" + result.isSuccess()); if (result.isSuccess()) { // Signed in successfully, show authenticated UI. GoogleSignInAccount acct = result.getSignInAccount(); mStatusTextView.setText(getString(R.string.signed_in_fmt, acct.getDisplayName())); updateUI(true); } else { // Signed out, show unauthenticated UI. updateUI(false); } }
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow