본문 바로가기

유니티/Firebase

[ Firebase ] 01 . 기초 알아보기

[ Firebase ]

[ 파이어베이스란? ]

파이어베이스는 빠르게 백엔드를 구축할 수 있는 서비스 .BasS ( Backend as a Service )의 일종이다 .

백엔드 지식이 없더라도 회원로그인,저장,불러오기,데이터베이스,파일관리와 더불어 구글 애널리틱스와 같은

구글 지원 서비스를 연동 가능하다 . 

 

[ 파이어베이스 프로젝트 ]

Firebase 프로젝트는 Firebase의 최상위 항목이다 . 프로젝트에서 앱을 등록 할 수 있다 .

이후 애널리틱스 , Auth , Storage등의 여러가지 Firebase SDK를 추가 할 수 있다 .

=>위의 그림은 Firebase 프로젝트의 계층구조를 나타낸다 .

[ 1단계 : Firebase 프로젝트 만들기 ]

[ 기본 요건 ]

  • Unity : 2019.1 이상의 버전이 필요하다
  • ios : ios 11 이상 타겟팅 / Xcode 13.3.1 이상 / CocoaPodss 1.10.0 이상
  • Android : API 수준 19 (KitKat)이상 타겟팅

[ 기본 요건 ]

=>프로젝트 만들기로 Firebase 프로젝트를 만든다 

=>프로젝트의 이름을 지정한다 . 이때 , 하단에 프로젝트 고유 ID를 생성하며 이후 수정은 불가하다 .

약관에 동의하고 계속을 눌러 진행한다 .

cf ) 프로젝트 고유 ID에 관하여

=>애널리틱스 사용 여부를 결정 할 수 있다.해서 나쁠것 없으니 특별한 이유가 없다면 하는게 좋을 것 같다 .

=>국가 선택과 약관 동의후 프로젝트를 만든다 .

 

[ 2단계 : Firebase에 앱등록 ]

=>Firebase Project가 생성되었다 . 유니티 아이콘을 눌러 다음단계를 시작한다 .

그전에 유니티에서 프로젝트를 만들어보자

 

[ 유니티 프로젝트 생성 ]

=>안드로이드 프로젝트 생성후 Project Setting - Player - Other Setting - Identification에서 PackageName을 정한다 .

 

=>일단 , 테스트를 위해 Android만 등록한다 .위에서 설정한 Package Name을 입력한후 앱을 등록해준다 .

[ 3단계 : Firebase 구성파일 추가 ]

[ 구성파일 추가 ]

=>구성파일을 다운로드 받는다

=>구성파일은 Assets 폴더 내부에 내가 원하는 위치에 배치가 가능하다 .

나는 Plugins - Firebase 풀더에 넣어주었다 .

[ 4단계 : Firebase SDK 추가 ]

[ 구성파일 추가 ]

=>다운후 압축을 푼다 .

=>Analytics를 사용설정했기에 우선 FirebaseAnalytics.unitypackage 패키지를 추가한다 .

=>이외에 필요한 제품이 있다면 해당 패키지를 다운받는다 .

=>가이드에는 .Net 버전에 따라서 설치패키지가 달랐는데 단일 패키지로 바뀐듯 하다 .

 =>여튼 임포트까지 수행한다 . 

 

=>설치하면 해당 팝업이 나온다 . 이는 Firebase에 필요한 비Unity종속성이 있는지 확인한다 . 없으면 알아서 설치와 충돌 해결을 진행하는 듯 하다 . Disable하면 사용자가 직접 해당 작업을 해줘야 함을 말해준다 .

 

[ 5단계 :Google Play 서비스 버전 요구사항 확인 ]

[ 구성파일 추가 ]

Google Play 서비스가 최신상태여야 Android용 Firebase Unity SDK를 사용 할 수 있다 .

그래서 애플리케이션 시작시 다음의 코드가 수행되어야 한다 .

Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
  var dependencyStatus = task.Result;
  if (dependencyStatus == Firebase.DependencyStatus.Available) {
    // Create and hold a reference to your FirebaseApp,
    // where app is a Firebase.FirebaseApp property of your application class.
       app = Firebase.FirebaseApp.DefaultInstance;

    // Set a flag here to indicate whether Firebase is ready to use by your app.
  } else {
    UnityEngine.Debug.LogError(System.String.Format(
      "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
    // Firebase Unity SDK is not safe to use here.
  }
});

[ 빌드해서 실행 ]

위 코드를 실행하는 APK를 뽑아 실행해보면 파이어베이스의 사용자가 +1 됨을 볼 수  있다 .

 

 

출처

Firebase 문서