원래는 몇 일차로 했는데 오늘은 google sign in에 대해서 다루어 보려고 하기 때문에 제목을 google sign in으로 했다.
사실 어제부터 firebase를 시작했는데 생각해보니까 제대로 firebase로 데이터를 다룰려고 하면 로그인부터 해야 할 것 같아서 먼저 제일 기본적이고 중요한 google sign in을 구현하려고 했다.
선택지
크게 세 가지 선택지가 있었다.
- 기본적인 google Sign In
- One Tap Sign-in
- Firebase Auth 사용하기
일단, 세 가지 다 시도는 해봤다. 제일 먼저 One Tap Sign-in이 제일 멋있을 거 같아서 해봤는데 예제 코드가 너무 불친절했다. 그리고 One Tap Sign-in은 login 화면을 따로 구현하지 않고 bottom에서 작은 창이 올라온다. 암튼 멋있지만 불친절한 코드 때문에 구현까지 했지만 로그인한 user를 어떻게 다루어야 할 지 모르겠어서 일단 포기했다.
(이건 one Tap Sign-in을 구현하면서 맞딱뜨린 에러인데, 나중에 구현할 일이 있으면 꼭 봐야 할 것 같아서 첨부한다.)
그 다음으로 Firebase에서도 해봤는데 flutter로 할 때랑 다르게 개복잡했다. 그래서 첫 구현인 나에게는 기본적인 google sign in이 최적이라고 생각했다.
https://developers.google.com/identity/sign-in/android/sign-in
Android 앱에 Google 로그인 통합 | Authentication | Google Developers
이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 Android 앱에 Google 로그인 통합 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요
developers.google.com
해당 doc을 참고해서 구현해봤는데 예제코드도 친절하고 설명도 많았다. 다만, startActivityForResult 같은 함수가 deprecated됐다고 하긴 한다.
로고
그냥 button만 띡 두기엔 애매해서 멋진 앱 관련 이미지를 만들기로 했다.
Classic Simple Letter Logo | BrandCrowd Logo Maker | BrandCrowd | BrandCrowd
www.brandcrowd.com
이 사이트에서 내 앱 이름을 치면 다양한 디자인을 만들어준다. 개쩔었다. 그래서 앱 로고도 바꾸고 로그인 화면도 꾸몄다.
생각보다 괜찮은 디자인에 놀라버렸다.
간만에 구현하기 빡센 기능이었는데 이것저것 공부하면서 구현해보니까 성취감이 너무 좋았다. 이 맛에 앱개발하나 보다ㅎㅎ
'안드로이드 앱개발' 카테고리의 다른 글
[SimpleChatApp] LiveData를 ViewModel없이 구현 (0) | 2023.03.25 |
---|---|
[SimpleChatApp] 5, 6일차 (0) | 2023.03.25 |
[SimpleChatApp] 3일차 (0) | 2023.03.20 |
[SimpleChatApp] 2일차 (0) | 2023.03.17 |
[SimpleChatApp] 1일차 (0) | 2023.03.16 |