Firebase project 생성
firebase console에서 프로젝트 생성 버튼을 클릭한다.
프로젝트명을 입력하고 난 후 Firebase 프로젝트를 위한 Google 애널리틱스을 사용할지 정의하고 애널리틱스 구성을 진행하여 프로젝트를 만든다.
프로젝트를 생성하고 나면
앱에 Firebase를 추가하여 시작하기 화면이 보인다.
여기에서 iOS와 Android를 추가한다!
그전에 파이어베이스 라이브러리를 설치한다.
npm install --save @react-native-firebase/app
iOS앱에 Firebase추가 버튼을 클릭하면 앱 등록을 위한 정보를 입력해야한다.
iOS 번들 ID를 바꾸고 싶다면 xcode를 이용해야한다.
ios폴더에 .xcodeproj 확장자명을 가진 파일을 xcode에서 열면 bundle identifier 변경를 변경 할 수 있다.
패키지를 등록하고 나면 GoogleService-Info.plist 파일을 등록해야하는데 이 파일은 xcode로 프로젝트를 실행 후 ios폴더에 붙여넣기해서 추가한다.
ios/Podfile 을 실행하여 아래 소스를 입력한다
platform :ios, '10.0'
# firebase 등록
pod 'Firebase/Analytics'
target 'koproRnFirebase' do
config = use_native_modules!
그 다음 ios/프로젝트명/AppDelegate.m 파일에
[FIRApp configure];를 추가한다.
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[FIRApp configure];
#ifdef FB_SONARKIT_ENABLED
InitializeFlipper(application);
#endif
이렇게하면 ios의 설정이 끝난다.
ios폴더에서 pod install를 한다.
android앱등록도 마찬가지로 앱등록화면에서 android를 추가한다.
android 패키지명은 anroid/app/build.gradle에 applicationId로 설정되어있다.
android 패키지명을 변경하고 싶다면 아래와 같이 변경해야한다.
- android/app/build.gradle applicationId변경
defaultConfig { applicationId "com.kopro.rnfirebase" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" }
- android/app/src/main/AndroidManifest.xml에 package 변경
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.kopro.rnfirebase">`
- android/app/main/java/ ~ 폴더구조 변경
package설정한 순서대로 폴더구조를 변경한다. - 파일 패키지명 변경
폴더에 있는 모든 .java의 패키지명을 변경해준다.
안드로이드 패키지이름을 넣어주고 진행한다.
그 다음 google-services.json 파일을 다운로드 받아서 android/app에 추가한다.
/build.gradle에 아래 이미지에 있는 Add this line를 추가해준다.
classpath("com.google.gms:google-services:4.3.8")
/app-module>build.gradle에 Add this line를 추가해준다.
dependencies {
implementation platform('com.google.firebase:firebase-bom:28.0.1')
implementation fileTree(dir: "libs", include: ["*.jar"])
//noinspection GradleDynamicVersion
implementation "com.facebook.react:react-native:+" // From node_modules
implementation 'com.google.firebase:firebase-analytics'
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
...
다음은 콭솔로 잘 동작되는지 확인해보겠다!
참고로
GoogleService-Info.plist과 google-services.json 은 정보가 있는 파일이라 .gitignore에 추가했다.
'IT > 기록' 카테고리의 다른 글
React Native에서 Firebase SDK 추가 및 파이어베이스 인증, 데이터베이스, 스토리지 설정하기 (0) | 2021.06.07 |
---|---|
git commit message를 잘 쓰고 싶다. (0) | 2021.06.06 |
git push author 변경하기 (0) | 2021.06.03 |
초기 react-native 프로젝트 생성 후 실행 시 발생한 오류! (0) | 2021.06.02 |
NodeJS에서 엑셀 파일 읽고 쓰기! #1 (0) | 2021.06.01 |