본문 바로가기
버킷리스트/앱 만들기

오공완(with 코드팩토리의 플러터 프로그래밍) #19 (파이어베이스 연동)

by 또또도전 2024. 9. 4.
반응형

// 이곳에 쓴 내용은 앱 만들기라는 버킷리스트를 달성하기 위해 플러터를 공부하면서 정리하고 있는 내용입니다.

플러터에 대해 아는 것이 거의 없기 때문에 정리하면서 오류가 있을 수 있습니다.

오류를 발견하신 분은 댓글 남겨 주시면 감사하겠습니다.

 

새로운 기능: 파이어베이스 CLI 설치, 파이어스토어 데이터베이스 생성

 

사전 준비: 

1. pubspec.yaml 파일 추가

  - firebase_core, cloud_firestore

2. minSdkVersion 21 설정(android/app/build.gradle)

3. 파이어베이스 CLI 설치 및 로그인

https://firebase.google.com/docs/cli?hl=ko#install-cli-windows

 

Firebase CLI 참조  |  Firebase 문서

 

firebase.google.com

이럼 활성화 된 거겠지?^^;;

flutterfire configure -p ~~~ 입력했으나 오류 발생

다시 dart pub global activate flutterfire-cli를 입력했는데 아래와 같이 오류 발생

Not a valid package name: "flutterfire-cli"

터미널에 위를 올려 보니 이런 문구가 있다. 책은 꼼꼼하게 읽어야 한다. 대충 윈도우 내 컴퓨터에서 해당 경로를 들어갔더니 아래 지운 경로가 있기에 난 따로 안 해도 되는 줄 알았다. 

 

책 초반으로 돌아가서 path 설정을 다시 했는데도 불통이다.

눈물이 난다~ 왜 도대체 왜~!! 되는건데?

이번 장은 잘 안될 것 같다는 불안한 마음으로 시작했다. 지난 번 책에서도 파이어베이스와 애드몹이 들어오면서 오류가 나는 경우가 너무 많았는데, 이번에도 그럴 것 같았기 때문이다. 바쁘다는 핑계로 거의 보지 않고 있다가.. 나 스스로 멱살 잡고 질질 끌며 시작했다. 역시나 막히고 막히고, 찾아보고 적용해 보고 그래도 막혔다. 오늘은 왜 되는 거냐고 왜? 코딩하면서 가장 무서운 게 이게 왜 되지? 할 때라던데.. 

책에는 없는 질문이 나온다.

하나를 넘었더니 또, 벽이다. com.40chungi.app 이렇게 쳤더니 또, 오류.. 이번에는 파이어베이스에 없다는 둥 이런 식으로 뜨길래 파이어베이스에 com.example이라고 만들어 줬다. 그리고 다시 시도했더니 예전 오류가 뜬다. 안드로이드 스튜디오 재시작 후 flutterfire~부터 입력 후 위와 같은 질문에서 com.example이라고 쓰니 아래와 같이 아이디를 생성해 줬다. 다음에 또 해봐야 알겠지만, 내가 파이어베이스에서 직접 만들어 줘서 된 것이 아니라. 패키지 이름에 40이라는 숫자를 썼기 때문에 오류가 생긴 건 아닐까?

또 하나의 벽을 넘었다.

책에서는 lib/firebase_options.dart파일을 생성하겠냐고 물어본다 했는데, 자동으로 생성되었다는 메시지를 받았다. 그리고 뙇~!!

근데 다음이 GCP리소스 위치를 설정하라는데, 도저히 못 찾겠다.

 

Cloud Firestore 위치 
bookmark_border

Cloud Firestore를 사용하기 전에 데이터베이스 위치를 선택해야 합니다. 지연 시간을 줄이고 가용성을 높이려면 데이터를 이용하는 서비스 및 사용자와 가까운 위치에 데이터를 저장하세요. 이 위치 설정이 프로젝트의 기본 Google Cloud Platform(GCP) 리소스 위치입니다.

기본 GCP 리소스 위치는 프로젝트 생성 중이나 위치 설정이 필요한 다른 서비스를 설정할 때 이미 설정했을 수 있습니다(아래 참조).

구글 검색해 보니 이런 문구를 찾을 수 있었다. 아마도 지난번 책에서 지정을 해 놔서 보이지 않는 것일 수도.. 그럼 일단, PASS~

그런데, 특이하게도 여기서는 책에 없는 위치를 결정하란다. 못 먹어도 그냥 GO~! 선택하니 책처럼 나온다. 다행이다. 다음을 읽어보니 선택하란다. 책이랑 순서가 달랐다.

 

규칙을 눌러서 세팅하라는데, 책이랑 또, 조금 다르다.

일단, 책에서 말하는 것처럼 true로 바꿔 본다.

이제 구현하기인데..

여기 오기까지 너무나 많은 시간이 흘렀으므로(물론, 나의 게으름도 한 몫했지만) 그냥 발행한다. 임시저장을 도대체 몇 번이나 했던가..


<추가기능 설명>

파이어베이스 기능

  - Authentication: 소셜 인증, 이메일 인증, 핸드폰 인증 등의 기능 연동

  - App Check: 보안 기능, 리소스 낭비 예방

  - Firestore: 강력한 쿼리 기능, NoSQL 

  - Realtime Database: 파이어스토어와 비슷, 빠른 속도와 효율에 초점

  - Storage: 이미지, 오디오, 비디오 등 콘텐츠 저장소

  - Hosting: 웹 앱, 정적 및 동적 콘텐츠, 마이크로서비스 빠르고 안정적으로 호스팅

  - Functions: 서버 코드를 실행

  - Machine Learning: 텍스트 인식, 이미지 라벨링, 물체 감지 및 추적, 얼굴 감지 및 윤곽 추적 등 머신 러닝 기능

  - Remote Config: 앱의 동작 모양과 기능을 앱을 새로 배포하지 않고도 변경하도록 편의성 기능

  - Crashlytics: 앱에 충돌이 있는 경우 정확한 문제와 로그 파악할 수 있는 기능

  - Performance: 앱 성능 모니터링

  - Test Lab: 여러 실제 프로덕션 기기를 사용해 앱 테스트

  - App Distribution: 앱을 더 빠르고 쉽게 배포

  - Analytics: 앱의 트래픽과 사용자의 호라동 모니터링 및 분석

  - Messaging: 푸시 알림을 쉽게 설정

반응형