flutter를 이용해서 파이어베이스 fcm 구현을 해본다.
먼저 firebase와 연동을 하기위해 몇가지 과정을 거쳐햐 한다.
1. firebase console에서 프로젝트를 만든다
2. 해당 프로젝트에서 앱 등록을 한다.
3. firebase cli 설치
firebase cli를 설치하라는 문구가 뜬다.
설치는 아래 링크에서 하면 된다.
Firebase CLI 참조 | Firebase 문서
firebase.google.com
node js를 사용한다면 npm을 이용해서 할 수도 있다.
4. firebase cli 실행
플러터 프로젝트 디렉토리에서 아래 명령어를 실행하며 된다.
flutterfire configure --project= ...
두번째에 있는 명령어를 실행하면 오류가 떴다.
(1) Warning: Pub installs executables into $HOME/.pub-cache/bin, which is not on your path.
.zshrc 파일에 저 코드를 추가해준다.
vi ~/.zshrc
export PATH="$PATH":"$HOME/.pub-cache/bin"
(2) FirebaseCommandException: An error occured on the Firebase CLI when attempting to run a command.
firebase-debug.log 파일이 생기는데 해당 파일을 보면
Request had invalid authentication credentials..
저쩌구 라는 에러가 나와있다. 구글링해보면 계정 인증이 잘못되었다고 해서 아래 명령어로 다시 인증을 해주면된다.
firebase login --reauth
이제 다시 두번째 명령어를 실행하면 설정할 플랫폼을 선택하라고 하는데
안드로이드와 ios만 진행할 것이므로 나머지는 스페이스바를 이용해 체크를 해제해주면 된다.
아래와 같은 플랫폼별로 ID가 출력되는데 뭔진 몰라도 중요해 보이니 저장해두는 것이 좋을 것 같다.
그럼 lib 폴더 내에 firebase_options.dart 파일이 생겼다
(현재 라이브러리를 설치하지 않아 빨간색이다.)
5. firebase 초기화 및 플러그인 추가
해당 코드를 main.dart에 추가하고 firebase_core를 설치해주자.
flutter pub add firebase_core
이제 fcm 등 파이어베이스 관련 서비스를 사용할 수 있다.
IOS 에뮬레이터로 돌리는데 갑자기 이런 오류가 떴다.
pod repo update 라는 명령어를 실행해도 아래와 같은 오류가 뜬다.
Podfile.lock 파일을 삭제하고 다시 아래 명령어를 실행하면 된다.
sudo arch -x86_64 gem install ffi
arch -x86_64 pod install --repo-update
firebase cli 명령어
1. 계정 확인
firebaes login 명령어로 확인 할 수 있다.
firebase login
>> Already logged in as {...} // 이메일
2. 계정 변경
firebase login --reauth 명령어를 치면 구글 로그인창이 뜬다. 로그인 하면 계정이 변경된다.
firebase login --reauth
3. 프로젝트 연동
flutterfire configure 명령어를 치면 로그인한 계정의 파이어베이스 프로젝트 리스트가 나온다.
프로젝트를 선택하거나 새로 만들면 플랫폼을 선택하라고 한다.
스페이스바를 이용해 플랫폼을 선택 또는 해제를 하면 firebase_option.dart 라는 파일이 생성된다.
flutterfire configure
(flutterfire 명령어를 위해 환경변수를 추가해야한다.)
vi ~/.zshrc
export PATH="$PATH":"$HOME/.pub-cache/bin"
'dev > flutter' 카테고리의 다른 글
안드로이드 스튜디오 AVD 추가하기 (0) | 2023.06.29 |
---|---|
flutter - firebase 안드로이드 설정 (0) | 2023.06.24 |
플러터 차트 (fl_chart) (0) | 2023.06.16 |
플러터에서 네이티브 앱 생명주기 감지 (0) | 2023.06.10 |
플러터 리스트 또는 ListView 위젯 뒤집기 (0) | 2023.06.09 |