환경설정은 아래서 확인하세요.
----
----
- 로그인설정
1. 로그인 / 로그아웃 버튼 만들기
2. 코드작성하기
3. 비정상 작동시 대처 방안들
1.
LOGIN / LOGOUT 각각의 버튼에 google_login / google_logout 이란 아이디를 부여하겠습니다.
2.
import com.google.android.gms.auth.api.Auth; import com.google.android.gms.auth.api.signin.GoogleSignInAccount; import com.google.android.gms.auth.api.signin.GoogleSignInOptions; import com.google.android.gms.auth.api.signin.GoogleSignInResult; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.api.GoogleApiClient; public class MainActivity extends AppCompatActivity implements GoogleApiClient.OnConnectionFailedListener { private static final int RC_SIGN_IN = 900; private GoogleApiClient googleApiClient; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestIdToken(getString(R.string.default_web_client_id)) .requestEmail() .build(); googleApiClient = new GoogleApiClient.Builder(this) .enableAutoManage(this,this) .addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions) .build(); Button _bt = (Button)findViewById(R.id.google_login); _bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { GoogleLogin(); } }); Button _bt1 = (Button)findViewById(R.id.google_logout); _bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { GoogleLogOut(); } }); } void GoogleLogin () { Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(googleApiClient); startActivityForResult(signInIntent, RC_SIGN_IN); } void GoogleLogOut () { Auth.GoogleSignInApi.signOut(googleApiClient); } public void onConnectionFailed(ConnectionResult var1){} @Override protected void onActivityResult (int _recode, int _resultCode, Intent _data){ if (_recode == RC_SIGN_IN) { try { GoogleSignInResult _result = Auth.GoogleSignInApi. getSignInResultFromIntent(_data); if(_result.isSuccess()) { GoogleSignInAccount acct = _result.getSignInAccount(); Log.d("GOOGLELOGIN", "email:" + acct.getEmail()); Log.d("GOOGLELOGIN", "id:" + acct.getId()); Log.d("GOOGLELOGIN", "profile:" + acct.getPhotoUrl()); Log.d("GOOGLELOGIN", "DispName > " + acct.getDisplayName()); Toast.makeText(this, "google Login Success", Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(this, "google Login Failed", Toast.LENGTH_SHORT).show(); } } catch (Exception e) { Log.d("GOOGLE_LOGIN", e.toString()); } }else { super.onActivityResult(_recode, _resultCode, _data); } } } |
3.
- SHA-1 키가 정상적으로 등록되었는지 확인
- Google Api Console 에서 OAuth 동의화면 구성했는지 확인
'Programming > 안드로이드' 카테고리의 다른 글
안드로이드 스튜디오 Firebase - Login(auth) / Push [푸쉬코드적용] (2019.06.03) (0) | 2019.06.03 |
---|---|
안드로이드 스튜디오 Firebase - Login(auth) / Push [환경설정] (2019.05.28) (0) | 2019.05.31 |
빌드오류 (build error) : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader 2019.04.29 (0) | 2019.04.29 |
Json Rest Api (0) | 2019.04.05 |
Java TCP 통신 : 서버 (채팅가능한 구조) (0) | 2018.11.09 |