[Firebase] android 프로젝트 등록하기
Flutter에서 Firebase사용을 위한 공식 가이드인 FlutterFire를 보면 크게 두가지 방법으로 프로젝트를 등록할 수 있습니다.
첫번째는 FlutterFire cli를 통한 등록 방법이고, 다른 하나는 manual 구성 방법입니다.
최근에서는 FlutterFire cli를 통한 방법을 추천하고 있는 추세로 보입니다.
경험상 두가지 방법에 각각 장단점이 있습니다.
일단 manual로 구성할 경우 필수 패키지라고 할 수 있는 crashlytic 구성에 문제가 발생할 수 있습니다.
반대로 FlutterFire cli를 통해 구성할 경우 최신 버전의 패키지를 사용하기 편한 장점이 있지만, 제가 시도했던 22년 초까지는 messaging 기능을 추가할 때 문제가 많이 발생하였습니다.
결국에 제가 앱을 출시할 시점에서는 manual 구성을 통해 프로젝트를 추가하는 방법을 선택하였습니다.
하지만 구글에서 Flutter 의 Firebase 패키지 업데이트가 워낙 활발하기 때문에 현재는 개선된 점이 많으리라 생각됩니다.
저는 manual 구성을 통해 프로젝트를 추가해 보겠습니다.
파이어베이스 콘솔에서 안드로이드 아이콘을 클릭합니다.
앱등록 화면을 볼 수 있습니다.
하나씩 등록을 해보겠습니다.
우선 패키지 이름입니다.
앱수준의 build.gradle 파일에서 패키지 이름을 찾습니다.
파일의 중간에 applicationId 가 패키지 이름입니다.
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.project.blog_demo"
minSdkVersion flutter.minSdkVersion
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
앱 닉네임은 선택사항이므로 저는 입력하지 않겠습니다. 원하시는 이름이 있으시면 입력하시면 됩니다.
그리고 디버그용 SHA-1지문은 keytool을 통해 생성할 수 있는데 아래 글을 참고하시면 됩니다.
https://alsmaker.tistory.com/46
[Firebase] keytool 을 통한 SHA-1 & SHA-256 지문 생성
Firebase 에 안드로이드 프로젝트를 등록하기 위해서는 디버그용 서명 인증서가 필수입니다. 프로젝트 생성시에는 SHA-1 지문만 우선적으로 등록하면 되지만, Firebase masseging을 사용하기 위해서는
alsmaker.tistory.com
다음 단계로 넘어가면 google-service.json 파일을 다운받을 수 있습니다.
다운로드 받은 google-service.json 파일을 android/app 폴더로 이동시킵니다.
다음 단계로 넘어가면 Firebase 사용을 위한 SDK 추가를 합니다.
우선 프로젝트 수준의 build.gradle 입니다.
dependencies {
classpath 'com.google.gms:google-services:4.3.13'
classpath 'com.android.tools.build:gradle:4.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
앱수준의 build.gradle 에도 내용을 추가해줍니다.
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
dependencies {
implementation platform('com.google.firebase:firebase-bom:30.3.2')
implementation 'com.google.firebase:firebase-analytics'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
이제 기본적인 android 설정이 끝났습니다.
여기까지 작업한 후에 빌드를 해보겠습니다.
그런데 이 상태에서 빌드를 하니 이상한 에러가 발생합니다.
대략 이런 에러입니다.
해결방법은 app/build.gradle 에서 minSdkVersion를 변경해줍니다.
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.project.blog_demo"
// minSdkVersion flutter.minSdkVersion
minSdkVersion 19
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
minSdkVersion을 19 이상으로 변경하면 에러가 해결되고 기본적인 빌드가 되는 것을 볼 수 있습니다.
이제 Android 에서 Firebase 를 사용하기 위한 기본 준비가 되었습니다.