FlutterFire 사용하기
- Google 에서 Flutter를 조금 더 강력하게 지원한다. FlutterFire라는 이름으로 Flutter를 위한 firebase 기능과 문서를 제공한다.
- Flutter에서 Firebase 기능을 사용하기 위해 firebase를 초기화 하는 방법이 변경되었다.
FlutterFire CLI 사용
Firebase 서비스를 사용하려면 먼저 FlutterFire를 초기화해야한다. FlutterFire를 초기화하려면 클래스 initializeApp에서 메서드를 호출해야 한다.
이를 위해서 다음의 CLI 명령어를 실행해야 한다.
dart pub global activate flutterfire_cli
cli를 설치하고, configure를 설치한다.
flutterfire configure
오류 발생 및 해결
1) cli 설치하기
그러면 아래와 같은 오류가 뜬다.
위의 오류는 cli가 제대로 설치되지 않았다는 오류이다. 위의 코드를 썼는데도 오류가 나온다면 아래의 코드를 사용하여 firebase-tools를 설치해준다.
npm i -g firebase-tools
2) firebase login하기
그리고 다시 실행했는데도 아래와 같은 오류가 나온다면 firebase와 연동이 안되었다는 뜻이다.
firebase login
을 친다. 그리고 인터넷 창이 뜨면서 firebase에 로그인하면 된다. 그리고 나면 아래와 같은 창이 뜨면서 로그인이 성공했다는 것을 말해준다.
flutterfire 구성하기
그리고 다시 configure를 설치한다. configure 명령을 실행하고 Firebase 프로젝트 및 플랫폼을 선택한다.
flutterfire configure
아래와 같이 차례대로 따라오면 된다.
1) firebase에 등록한 프로젝트를 선택해준다.
2) android, ios, macos, web중에 어디서 사용할 것인지 선택한다.
3)PRODUCT_BUNDLE_IDENTIFIER 찾아넣기
이와 관련된 이름은 ios > Runner.xcodeproj/project.pbxproj에 위치해 있다. PRODUCT_BUNDLE_IDENTIFIER를 찾아보면 된다. 그리고 터미널에 해당 이름을 입력해준다.
초기화하기
위와 같은 작업이 끝났다면 firebase_options.dart초기화에 필요한 모든 옵션이 포함된 파일이 생성된다. Flutter 앱이 Android를 지원하는 경우 Android Google Services Gradle 플러그인이 자동으로 적용된다.
1) firebase_options.dart파일을 가져오기
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
2) firebase 초기화하기
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
runApp(MyApp());
}
🔗 참고
https://www.kyulabs.app/5bbb77ab-2cdf-45c9-a27d-84ed5a1c154b
https://stackoverflow.com/questions/51098042/how-to-get-bundle-id-in-flutter
https://firebase.flutter.dev/docs/overview/#initializing-flutterfire