2019년 9월 23일 월요일

Unity - Firebase 연동 (Analytics, AdMob)

버전 : firebase_unity_sdk_6.5.0.zip

게임에서 통계 측정 및 광고 추적을 위해 Firebase 을 연동한다.
앞서 [Unity - GPGS 와 Admob 연동 및 배포 준비 작업] 연동 이후에 작업을 진행 한다.

유니티에 Firebase를 연결하는 정보는 다음 사이트에 정리되어 있다.
https://firebase.google.com/docs/unity/setup?hl=ko#available_libraries
- ADmob 연동은 별도의 unitypackage 설치 없이 웹 연결을 통해 진행 된다.


1. Firebase 패키지 추가

1-1. 프로젝트 생성

  • 홈페이지 접속
  • [프로젝트 만들기] 버튼을 선택해 생성 시도
  • 생성되어 있는 프로젝트 중 연동에 필요한 프로젝트 선택
  • 약관 선택 후 [계속]
  • "Google 애널리틱스" 사용 설정은 On 으로 지정
    - 애널리틱스 위치 : 대한 민국
    - 약관 설정
  • [계속] 버튼을 선택하면 프로젝트가 생성 됨

1-2. 앱을 추가하여 시작

  • 좌측 [Project Overview] 선택 해 Home 으로 이동
  • 유니티 아이콘을 선택해 "앱을 추가하여 시작" 진행
  • Unity 앱에 Firebase 추가 시작
    - iOS와 Android 동시 출시의 경우 둘다 등록 해야 됨
    - Register as Android app 체크
    - 패키지 이름 : 설정한 패키지 이름 작성
    - 앱 닉네임 : 게임 이름 작성
  • [다음] 버튼으로 설정 이동

1-3. 구성파일 다운로드

  • google-services.json 파일을 다운로드
  • 다운로드 한 파일을 unity 프로젝트 Asset폴더 Root로 이동
    (Assets 폴더 내의 원하는 위치에 Firebase 구성 파일을 배치 가능)
  • [다음] 버튼으로 설정 이동

1-4. Firebase SDK 추가

  • 유니티 패키지를 다운받음
  • firebase_unity_sdk_6.5.0.zip 버젼을 다운로드하여 진행
  • [다음] 버튼으로 설정 이동

1-5. 완료 단계

  • 설정이 완료 됨.
  • "콘솔로 이동" 을 선택해 설정을 종료

1-6. Project Overview 정보 

  • 페이지의 앱 설정에서 등록된 앱 정보가 유니티가 아닌 안드로이드로 표시 된다. 
  • 정보를 확인 하면 통신을 대기 하는 상태가 표시 된다.
  • 이 표시는 Analytics SDK를 추가해 빌드를 한 뒤 실행을 한 번 해야 처리 된다.
  • 정상 처리 시 - "앱에 Firebase를 추가했습니다." 라고 표시된다.
  • 우선은 현 상태로 유지하고 아래 항목을 진행 한다.

1-7. SHA-1 인증서(번외, 필요시)

  • 안드로이드 앱 등록 시 SHA-1 디버그 인증서를 요구 한다. 
  • 디버그는 인증서는 debug.keystore 파일을 의미하고, 보통 C:\Users\user\.android 폴더에 위치한다. 
  • 명령어 프롬프트를 이용해 자바가 설치된 bin 폴더로 이동 
  • keytool -exportcert -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore 명령어를 입력하면 값을 얻을 수 있다.
    (디버그에는 password가 없으므로 Enter 키 입력)
  • 실제 SHA 인증서 지문 = GooglePlayConsole에서 업로드 증명서의 SHA-1 값을 사용 하면 된다. 


2. 사전 준비

2-1. 데이터 준비

  • SDK 다운로드 : URL
  • 유니티의 .Net 버전을 4.x 로 설정
  • 다운로드한 SDK에서 dotnet4 폴더 unitypackage 를 확인
  • 애널리틱스를 사용하기 위해 FirebaseAnalytics.unitypackage 파일 저장

2-2. Unity 프로젝트에 Firebase 추가

  • 정보 : https://firebase.google.com/docs/unity/setup?hl=ko
  • 1~4단계는 진행한 "Firebase 패키지 추가"와 동일한 내용
  • 5단계 부터 진행한다.
  • FirebaseAnalytics.unitypackage 파일 import 진행
    (무언가 확인 윈도우가 뜰 때 yes 했음)

2-3. Google Play 서비스 버전 요구사항 확인

        Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
            var dependencyStatus = task.Result;
            if (dependencyStatus == Firebase.DependencyStatus.Available)
            {
                // Create and hold a reference to your FirebaseApp, 
                // FirebaseApp에 대한 참조를 작성하고 유지하십시오.
                // where app is a Firebase.FirebaseApp property of your application class.
                // 여기서 app은 애플리케이션 클래스의 Firebase.FirebaseApp 속성입니다.

                //   app = Firebase.FirebaseApp.DefaultInstance;

                // Set a flag here to indicate whether Firebase is ready to use by your app.
                // Firebase를 앱에서 사용할 준비가되었는지 표시하려면 여기에 플래그를 설정하십시오.
                Debug.Log("Firebase 초기화 완료");
            }
            else
            {
                UnityEngine.Debug.LogError(System.String.Format(
                  "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
                // Firebase Unity SDK is not safe to use here.
            }
        });
  • 앱 시작 시 AnalyticsManager를 생성하고 "Start()" 에 코드 추가


3. Analytics 추가

3-1. 유니티 설정

  • 이벤트 로그 등에 대한 내용 작성이 필요
  • >>>작성중<<<


4. ADMob 연동

4-1. 연동 방법

  • Firebase 페이지 이동
  • 연결하려는 프로젝트를 선택해 페이지 이동
  • 좌측 상단의 Project Overview 우측에 있는 "톱니바퀴"(설정) 버튼 선택
  • 프로젝트 Settings 화면에서 [통합] 페이지를 선택
  • ADmob 의 앱 설정에 firebase 연결 버튼이 없다.
    (현재 위 설정을 적용 못하고 있음)



댓글 없음:

댓글 쓰기

Unity - Firebase 연동 (Analytics, AdMob)

버전 : firebase_unity_sdk_6.5.0.zip 게임에서 통계 측정 및 광고 추적을 위해 Firebase 을 연동한다. 앞서 [Unity - GPGS 와 Admob 연동 및 배포 준비 작업]  연동 이후에 작업을 진행 한다. 유니...