코딩스토리

[Android/안드로이드] Android Studio Firebase 연동 (1) 본문

Android/유용한 기술

[Android/안드로이드] Android Studio Firebase 연동 (1)

라크라꾸 2020. 3. 8. 03:49

이번 글에선 안드로이드와 파이어베이스를 연동을 해보겠습니다.

안드로이드와 데이터베이스와 접근하기 위해 파이어베이스를 통해 간단하게 접근할 수 있습니다. 

 

우선 파이어베이스와 안드로이드를 연결하기 위해 필요할 순서는

 

   Firebase 프로젝트 생성 
   
   -> google-service.json파일얻기
   
   -> .json파일을 안드로이드스튜디오 프로젝트 안에 삽입 
   
   -> Firebase SDK추가
   
   -> 안드로이드와 파이어베이스 연결 확인

순서로 가겠습니다.

 

Firebase 프로젝트 생성

 

우선 Firebase콘솔 페이지에 접속을 합니다.

https://console.firebase.google.com/

 

로그인 - Google 계정

하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인

accounts.google.com

로그인을 하게 되면 다음과 같은 화면이 나옵니다.

프로젝트 추가를 해줍니다.

 

프로젝트를 시작할 이름을 정해주고 계속을 눌러줍니다.

 

계속 버튼을 클릭합니다.

 

Google 애널리틱스 계정이 있으면 선택하고 없으면 만들어 준후 프로젝트 만들기를 클릭합니다.

 

프로젝트 생성을 완료했습니다. 이제 파이어베이스와 연동하기 위해 필요한 "google-service.json"파일을 가져오는 작업을 시작하겠습니다.

 

google-service.json 파일 생성

 

프로젝트 생성을 완료하게 되면 메인중앙에 다음과 같은 창이 뜨는데, 안드로이드와 연결하는 것이기 때문에 Android를 클릭해 줍니다.

 

안드로이드 프로젝트 패키지 이름을 입력해주고, 앱 닉네임, SHA-1을 입력해주고 다음 버튼을 누릅니다.

디버그 서명 인증서 SHA-1값을 가져오는 방법은 이전 글을 참고해주세요

 

2020/02/03 - [Android/유용한 기술] - [Android/안드로이드] Debug에서 SHA-1 값 알아내기

 

[Android/안드로이드] Debug에서 SHA-1 값 알아내기

구글 API를 사용하거나 파이어베이스 연동을 하는 등 키스토어(KeyStore)의 SHA-1 값이 필요한 경우가 있습니다. 콘솔을 활용해 키스토어(KeyStore)를 직접 생성하고 SHA-1 값을 확인하는 경우가 있습니다. 콘솔을..

lakue.tistory.com

이제 우리가 원하는 google-services.json파일을 얻을 수 있습니다.

"google-service.json"파일은 안드로이드 프로젝트가 Firebase에 접근하기 위해서 필요합니다.

이 파일은 Firebase에서 발급하는 증명서인데 이 안에는 Firebase에 필요한 여러 API 키가 담겨있습니다.

 

google-services.json파일을 적용하는 방법은 그림에서도 잘 나와있습니다.

경로는 Project -> app 안에다가 넣어주면 됩니다.

 

폴더 안에 저장된 파일
프로젝트 내에서 보여질 경우

 

이제 파이어베이스와 SDK를 연결해주어야 합니다.

연결 방법은 파이어베이스에서도 잘 설명해 주지만 코드로 보여드리겠습니다.

 

build.gradle(Project : appname)

    
buildscript {
        repositories {
            google()
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.5.3'
            classpath 'com.google.gms:google-services:4.3.3'
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    allprojects {
        repositories {
            google()
            jcenter()
            
        }
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    

 

build.gradle(Module.app)

    
    apply plugin: 'com.android.application'
    apply plugin: 'com.google.gms.google-services'
    
    dependencies {
    	...
        
            implementation 'com.google.firebase:firebase-analytics:17.2.3'
            implementation 'com.google.firebase:firebase-core:17.2.3'
            implementation 'com.google.firebase:firebase-database:19.2.1'
    }
    

마지막으로 IDE의 표시줄에 있는 'Sync Now'를 누르세요.

 

 

동기화를 시켰는데 

 

ERROR: Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 16 declared in library [com.google.firebase:firebase-iid:20.0.2] /Users/lakue/.gradle/caches/transforms-2/files-2.1/946a39d7756c6b05aa38a853bdffc128/firebase-iid-20.0.2/AndroidManifest.xml as the library might be using APIs not available in 15

 

와 같은 에러가 날 경우에는 파이어베이스 라이브러리가 15에서 사용할 수 없는 API라는 것을 알려주고 있는 것입니다. 

minSdkVersion을 15 이하일 경우에 나타나는 오류입니다. minSdkVersion을 16으로 올려주도록 하면 이 오류는 해결됩니다.

 

설치확인이 완료가 되면 콘솔로 이동 버튼을 누릅니다.

저는 왜인지... 계속 기다려도 안돼서 이 단계 건너뛰기로 이동했습니다... 왜인지 아시는 분은 댓글로 남겨주세요..ㅠㅠ

 

Firebase가 앱에 제대로 추가되었는지 확인을 해보도록 하겠습니다.

 

Tool 안에 Firebase를 클릭합니다.

 

4번째에 있는 Realtime Database를 클릭하게 되면 Save and retrieve data라고 숨겨진 게 생기게 됩니다. 클릭해줍니다.

 

1번과 2번이 Connected가 되어야 합니다.

1번은 됐지만 2번은 Add the Realtime Database to your app을 클릭해줍니다. 

 

프로젝트를 다음과 같이 변경하겠다는 문구인데 Accept Changes를 눌러 변경을 해줍니다.

변경이 완료가 되면 1번과 2번이 모두 체크가 됩니다.

 

이로서 Android Studio와 Firebase와 연결하는 작업을 해봤습니다. 다음 글에서는 파이어베이스와 데이터를 연동하는 글을 포스팅 해보겠습니다~~

Comments