Getting Started with Firebase Auth on Android – Firecasts

안녕하세요? Firebase팀의 로렌스 머니입니다 또 다른 Firecast 에피소드를 준비했습니다

오늘은 안드로이드에서 Firebase Auth를 사용하여 구글에 로그인하는 방법을 소개합니다 다른 계정으로도 로그인 할 수 있습니다 몇 분 만에 바로 이 기능을 추가 할 수 있습니다 그럼 시작해 볼까요? 시작하기 전에 개발 환경이 잘 갖춰졌는지 확인해 주세요 안드로이드용 Firebase를 시작하려면 안드로이드 스튜디오로 새 프로젝트를 만드세요

디폴트 폼 팩터에서 Empty Activity로 생성시키세요 Grandle 파일을 수정하면 동기화가 필요하다는 메시지를 보게 될 것입니다 동기화시키세요 모듈 레벨의 buildgradle에서 Google Services Packages를 classPath에 이렇게 추가하세요

app-level buildgradle에서는 google-services플러그인을 적용하세요 동기화 시킬 때 google-services JSON파일이 없으면 에러가 납니다 걱정 마세요 간단히 해결됩니다

Firebase 콘솔로 갑니다 아직 프로젝트가 없다면 절차에 맞춰 생성하세요 완료되면 스크린에 프로젝트가 보입니다 프로젝트를 선택하면 연결된 앱을 볼 수 있습니다 Add App 버튼을 누르고 안드로이드를 선택하세요

패키지 이름과 SHA1이 필요합니다 패키지 이름은 앱을 정의 할 때 쓰는 것 입니다 SHA1은 debug keystore에서 이렇게 받을 수 있습니다 복사해 붙이고 앱을 추가하세요 google-service JSON 파일이 다운로드됩니다

프로젝트 뷰를 선택해서 앱을 여세요 파일을 이렇게 앱 폴더로 드래그하세요 이제 Gradle이 동기화되고 모두 잘 돌아갑니다 이제 Firebase를 사용할 수 있습니다 자, 좋습니다

개발 환경이 잘 준비됐다면 이제 안드로이드에서 구글로 로그인할 수 있는 간단한 앱을 만들어 봅시다 필수 파일을 임포트하고 간단한 생글 액티비티 앱을 생성하고 로그인 버튼을 만들어서 구글로 로그인하면 사용자의 아이디가 출력되도록 코딩해 보겠습니다 시작해 볼까요 안드로이드 앱을 코딩하기 전에 모든 속성들이 Firebase콘솔에 제대로 설정됐는지 확인합시다 다 되면 Overview스크린이 이렇게 뜹니다

다음은, 프로젝트에 Auth가 활성화됐는지 봅시다 Auth 섹션을 보세요 원하는 로그인 메쏘드를 선택하세요 구글을 선택해 보겠습니다 안드로이드 스튜디오에서 build

gradle을 체크해 보세요 play-services-auth 라이브러리가 포함돼야 합니다 레이아웃 파일에서 로그인 버튼을 선택하면 런타임일 때 가져옵니다 코딩을 할 때 따라야 할 몇 가지 단계가 있습니다 첫째 Google 로그인 옵션 객체를 만들고 이를 이용해, Google API 클라이언트를 생성합니다

사용자가 로그인 버튼을 누르면 사인인 인텐트와 액티비티를 생성합니다 여기서 볼 수 있습니다 API로부터 인텐트를 불러와 액티비티를 시작합니다 그러면, 사용자의 데이터를 받아올 수 있습니다 인텐트로부터 돌아온 데이터에서 Google 로그인 결과 객체를 받습니다

여기서 Google 로그인 계정을 받고 디스플레이 네임을 받습니다 데모에서 보듯이 사용자의 이메일을 받은 후 이름으로 바꾸어 출력할 것입니다 로그아웃은 더 쉽지요 로그아웃 API를 불러 결과를 받아 UI를 업데이트하면 됩니다 어떻게 돌아가나 봐요

이것이 우리가 만든 앱입니다 로그인 버튼과 로그아웃 버튼이 있습니다 로그인 버튼을 누르면 선택창이 뜹니다 원하는 계정을 선택하고 로그인을 하면 됩니다 다시 로그아웃 하면 UI가 클리어됩니다

로그인할 때 계정 생성을 선택할 수도 있습니다 그러면 사용자 추가 플로우로 넘어갑니다 지금은 직접 해 보지 않겠습니다 다시 돌아가서 계정을 선택하겠습니다 Firebase 기반 안드로이드 앱에서 구글 로그인 추가가 얼마나 쉬운지 아셨죠? 이상입니다

드디어 안드로이드에서 구글로 구글계정으로 로그인하는 앱을 만들어 봤습니다 불과 몇 분 걸렸어요 이제 앱을 맞춤 설정 하거나 페이스북이나 GitHub과 같은 서비스를 추가할 수 있습니다 오늘은 여기까지 입니다 질문은 댓글로 남겨 주시고 트위터나 G+에서는 #AskFirebase에서 만나요

'구독' 단추 누르는 것 잊지 마시고요 저는 로렌스 모니입니다 시청해 주셔서 감사합니다