[Flutter] Android 앱에 Firebase 연동 기초 설정

Firebase 프로젝트 생성 및 앱 등록

Firebase에서 프로젝트를 생성하고 안드로이드 앱을 등록하면 `google-services.josn` 파일을 다운 받을 수 있다.

이 파일을 `android\app\google-services.json` 디렉토리로 이동한다.

민감할 수 있는 정보들이 들어있기 때문에 나는 이 파일을 `.gitignore`에 추가했다.

 

Flutter 앱에 Firebase 추가

필수 CLI 도구 설치

npm install -g firebase-tools

Firebase CLI를 설치한다.

 

firebase login

다음 명령어를 실행하여 Google 계정으로 Firebase에 로그인한다.

 

dart pub global activate flutterfire_cli

디렉터리에서 다음 명령어를 실행하여 FlutterFire CLI를 설치한다.

 

Firebase를 사용하도록 앱 구성

flutterfire configure

FlutterFire CLI를 사용하여 Firebase에 연결하도록 Flutter 앱을 구성한다.

우선 Flutter 프로젝트 디렉터리에서 다음 명령어를 실행하여 앱 구성 워크플로를 시작한다.

앱 구성이 완료되면 `/lib` 디렉터리에 Firebase 구성 파일(`firebase_options.dart`)이 추가된다.

 

Firebase 서비스의 API 키는 보안 비밀이 아닙니다
Firebase는 API 키만 사용하여 Firebase 서비스에 대한 앱의 Firebase 프로젝트를 식별하며, Firebase Security Rules을 사용하여 수행되는 데이터베이스 또는 Cloud Storage 데이터에 대한 액세스는 제어하지 않습니다. 이러한 이유로 Firebase 서비스의 API 키를 보안 비밀로 취급할 필요가 없으며, 클라이언트 코드에 안전하게 삽입할 수 있습니다

참고로 Firebase API 키는 코드에 포함되어도 상관 없다고 하지만

그래도 찜찜해서 `firebase_options.dart` 파일도 `.gitignore`에 추가했다.

 

flutterfire: command not found

`flutterfire` CLI 도구가 `.bat` 확장자로 설치된 경우, Git Bash에서 이 파일을 직접 실행하지 못하는 경우가 있다.

 

이럴 땐 `/c/Users/사용자_이름/AppData/Local/Pub/Cache/bin/flutterfire.bat configure`처럼

디렉터리를 명시적으로 작성해서 실행하는 방법으로 해결할 수 있다.

 

앱에서 Firebase 초기화

flutter pub add firebase_core

Flutter 프로젝트 디렉터리에서 다음 명령어를 실행하여 core 플러그인을 설치한다.

 

import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  runApp(const MyApp());
}

`flutterfire configure`로 생성한 구성 파일에서 내보낸 `DefaultFirebaseOptions` 객체를 사용하여 Firebase를 초기화한다.

 

flutter run

Flutter 애플리케이션을 다시 빌드하면 연동 성공!

 

플러터 FCM 연동 시리즈

 

참고 문서