개요
Firebase Analytics는 Flutter에 연동하여 다양한 이벤트 및 사용자 정보를 수집할 수 있도록 도와주는 플랫폼입니다. 이번 글에서는 Flutter 프로젝트에 Firebase Analytics 을 연동해 보겠습니다.
Firebase 프로젝트 / Analytics 프로젝트 연동
Google Analytics 프로젝트 생성
Google Analytics 프로젝트가 없다면 새 프로젝트를 Firebase 를 사용하는 동일한 계정으로 생성해 주세요.
Firebase 프로젝트 생성
Firebase 프로젝트를 생성하세요.
Firebase Analytics <> Google Analytics 연동 확인
Google Analytics 가 없다면 생성 후 연동해 주세요. (Google Analytics 생성 후 Firebase 콘솔에서 확인할 수 있는 모습)
작업 결과
Firebase 프로젝트 내 Android / iOS 앱 생성
프로젝트를 생성하였다면 Android 앱 및 iOS 앱을 생성해 주세요. Android 앱 및 iOS 앱을 생성할 때 config 파일들은 다운로드 할 필요 없습니다. 아래에서 사용할 CLI 를 통해 자동으로 생성하게 됩니다.
작업 결과
Firebase CLI 및 FlutterFire CLI 설치
Firebase CLI 설치
Firebase CLI를 개발 기기에 설치해 주세요, 저는 MacOS 를 사용하므로 아래 명령을 사용해서 Firebase CLI를 설치하겠습니다.
아래 링크를 통해 개발 환경에 맞게 CLI를 설치해 주세요.
curl -sL https://firebase.tools | bash
설치를 완료하였으면 아래 명령어를 실행하세요. 실행 시 구글 로그인 화면이 나타납니다. Firebase 프로젝트를 관리하는 구글 계정으로 로그인하세요.
firebase login
FlutterFire CLI 설치
복잡하죠? Flutter 프로젝트 위치에서 아래 명령어를 통해 FlutterFire CLI를 설치해 주세요.
dart pub global activate flutterfire_cli
설치 후 아래 명령을 통해 앱 구성을 진행해 주세요.
flutterfire configure
android 와 ios 를 선택해 주신 다음 enter를 눌러 설정을 완료해 주세요.
주의
이 명령을 통해 플러터프로젝트/lib/firebase_options.dart 파일이 생성되었는 지 반드시 확인해 주세요.
FlutterFire CLI 설치 중 에러 대응
flutterfire configure 명령 수행 과정에서 아래와 같이 에러가 발생한 경우
Exception: <internal:/opt/homebrew/Cellar/ruby/3.3.5/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require': cannot load such file -- xcodeproj (LoadError)
from <internal:/opt/homebrew/Cellar/ruby/3.3.5/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
from -e:1:in `<main>'
아래 명령을 실행시켜 주세요, 이 명령을 통해 문제가 해결되지 않는다면 터미널을 재시작 해보세요. 대부분의 문제는 터미널 재시작으로 해결됩니다.
sudo gem install xcodeproj
작업 결과
firebase_core 및 firebase_analytics 설치
Firebase_core 설치
이제 플러터 프로젝트에 Firebase_core 를 아래 명령을 통해 설치해 주세요.
flutter pub add firebase_core
설치를 완료하였다면 아래와 같이 flutterfire cli를 통해 구성을 업데이트하세요.
flutterfire configure
firebase_analytics 설치
flutter pub add firebase_analytics
flutterfire configure
작업 결과
예제 코드 작성 및 확인
플러터프로젝트/lib/main.dart 파일에 아래와 같이 코드를 작성하세요.
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
...이하중략
void main() { ...이하중략
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
runApp(const MyApp());
...이하생략
코드를 작성한 후 앱을 빌드해 보세요. 앱 실행 시 애널리틱스 대시보드에 실시간 현황에서 접속자 현황을 확인할 수 있습니다.
접속자 현황이 Analytics 에서 반영되지 않는 경우
Android Studio LogCat 에 'Firebase' 로 검색하여 아래와 같이 로그가 찍히는 경우 Analytics 연동이 제대로 되어 있지 않은 상태입니다. Android Studio 를 재실행 해보세요,
만약 Firebase 플러그인이 정상적으로 연동된다면 아래와 같은 Logcat 로그가 출력될 겁니다.
참고 ) 구성
생각보다 많이 복잡했습니다. 나중에 문제생기면 어디서부터 봐야 할지 걱정입니다.
참고 자료
- https://support.google.com/analytics/answer/11198161
- https://firebase.google.com/docs/analytics/events?platform=flutter&hl=ko
- https://firebase.google.com/docs/analytics/get-started?hl=ko&platform=flutter
'프로그래밍 > Flutter <Dart>' 카테고리의 다른 글
[Flutter] Error 객체를 활용한 적절한 에러 처리 방법 (0) | 2025.02.01 |
---|---|
[Flutter] iOS Invalid Pre-Release Train. The train version '1.0' is closed for new build submissions 문제 해결하기 (0) | 2025.01.12 |
[Flutter] 안드로이드 배포 시 프로젝트 버전 수정하기 (0) | 2025.01.12 |
[Flutter/android] 플러터에 안드로이드 앱 링크 적용하기 with Go Router (0) | 2024.12.07 |
[Flutter] 플러터 안드로이드 apk 설치 오류 해결하기 (0) | 2024.12.04 |