
Crashlytics
Firebase에서 제공하는 실시간 오류/크래시 리포팅 도구
앱에서 발생하는 치명적인 오류(crash) 및 비정상 종료를 자동 수집
에러 발생 시점의 스택 트레이스, 디바이스 정보, OS 버전 등을 Firebase 콘솔에서 확인 가능
배포 이후(운영 환경) 에서 발생하는 오류를 추적하는 데 필수
사용자가 실제로 앱을 쓰다가 겪는 문제를 개발자가 확인할 수 있게 해주는 도구
https://firebase.google.com/docs/cli?hl=ko
firebase login
flutter pub global activate flutterfire_cli
flutterfire configure
flutter pub add firebase_core
flutter pub add firebase_crashlytics
main.dart)void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
runApp(const ProviderScope(child: MyApp()));
}
flutterfire configure
ios/Podfile
platform :ios, '15.0'
Future<void> main() async {
runZonedGuarded(
() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Flutter 프레임워크 내부 에러
FlutterError.onError = (errorDetails) {
FirebaseCrashlytics.instance
.recordFlutterFatalError(errorDetails);
};
runApp(const ProviderScope(child: MyApp()));
},
(error, stack) {
// Dart Exception
FirebaseCrashlytics.instance.recordError(
error,
stack,
fatal: true,
);
},
);
}
FlutterError.onError
Flutter 프레임워크 내부 오류 수집
runZonedGuarded
비동기 영역에서 발생하는 예외(Exception) 수집
FirebaseCrashlytics.instance.crash();
throw Exception('Test Crash');
디버그 모드에서 Crashlytics 리포트 제한됨
테스트는 Android 디바이스/에뮬레이터 권장
Crashlytics는 배포 이후 실제 사용자 환경에서 발생하는 크래시와 에러를 추적하기 위한 필수 도구
Flutter에서는 전역 에러 핸들링 설정을 통해 안정적으로 연동할 수 있음
Analytics
Firebase에서 제공하는 사용자 행동 분석 도구
앱 사용 중 발생하는 다양한 행동 데이터를 수집/분석
수집된 데이터를 기반으로 UI/UX 개선 포인트 도출 가능
사용자가 앱에서 "무엇을, 어떻게" 사용하는지 수치로 확인하는 도구
https://firebase.google.com/docs/analytics/get-started?platform=flutter&hl=ko
flutter pub add firebase_analytics
firebase_core 는 이미 연동되어 있어야 함
Event 이름 + 파라미터(Map) 형태로 전송
Firebase 콘솔에서 이벤트별 통계 확인 가능
FirebaseAnalytics.instance.logEvent(
name: 'HOME_PAGE_SEND_EVENT',
parameters: {
'content': value,
},
);
name : 이벤트 이름 (대문자 + 스네이크 케이스 권장)parameters : 이벤트와 함께 보낼 추가 데이터Analytics 이벤트는 기본적으로 약 1시간 단위로 묶어서 업로드됨
→ 실시간 확인을 위해 DebugView 사용
C:\Users\본인계정명\AppData\Local\Android\sdk\platform-tools
환경변수 PATH에 추가
ls ~/Library/Android/sdk/build-tools
export ANDROID_HOME=/Users/사용자명/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/build-tools/34.0.0
nano ~/.zshrc
Ctrl + X → Y → Entersource ~/.zshrc
adb shell setprop debug.firebase.analytics.app <패키지명>
예시:
adb shell setprop debug.firebase.analytics.app com.sparta.chatbot
adb shell setprop debug.firebase.analytics.app .none.
디버그 모드를 켜둔 채로 사용하면 실제 Analytics 데이터가 왜곡될 수 있음
Firebase Analytics는 사용자의 행동 데이터를 수집·분석하여 UI/UX를 데이터 기반으로 개선할 수 있게 해주는 필수 도구이며, DebugView를 통해 개발 중 실시간 검증이 가능하다.