tips/유니티 & 개발

유니티에서 파이어베이스 SDK 초기화 및 애널리틱스

디지털 수공업자 2022. 3. 16. 12:46
반응형

파이어베이스 콘솔에서 프로젝트를 생성하고 유니티 아이콘을 눌러 앱을 추가합니다.

파이어베이스 콘솔의 프로젝트 설정에서 iOS는 iOS ID를 안드로이드는 패키지 이름을 입력하고, 각각의 구성파일 GoogleService-Info.plistgoogle-services.json파일을 다운로드하여 유니티의 StreamingAssets폴더를 생성하고 넣어줍니다.

 

파이어베이스 SDK 유니티 플러그인 설치를 하고 다음 스크립트로 초기화 합니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Firebase ;

namespace Fb {

    public class fb : MonoBehaviour {
        
        FirebaseApp app ;

        void Start() {

            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.
            }
            });
            
        }

    }

}

 

초기화 후에는 아래의 LogEvent() 메서드로 이벤트 로깅을 시작합니다.

// Log an event with no parameters.
Firebase.Analytics.FirebaseAnalytics
  .LogEvent(Firebase.Analytics.FirebaseAnalytics.EventLogin);

// Log an event with a float parameter
Firebase.Analytics.FirebaseAnalytics
  .LogEvent("progress", "percent", 0.4f);

// Log an event with an int parameter.
Firebase.Analytics.FirebaseAnalytics
  .LogEvent(
    Firebase.Analytics.FirebaseAnalytics.EventPostScore,
    Firebase.Analytics.FirebaseAnalytics.ParameterScore,
    42
  );

// Log an event with a string parameter.
Firebase.Analytics.FirebaseAnalytics
  .LogEvent(
    Firebase.Analytics.FirebaseAnalytics.EventJoinGroup,
    Firebase.Analytics.FirebaseAnalytics.ParameterGroupId,
    "spoon_welders"
  );

// Log an event with multiple parameters, passed as a struct:
Firebase.Analytics.Parameter[] LevelUpParameters = {
  new Firebase.Analytics.Parameter(
    Firebase.Analytics.FirebaseAnalytics.ParameterLevel, 5),
  new Firebase.Analytics.Parameter(
    Firebase.Analytics.FirebaseAnalytics.ParameterCharacter, "mrspoon"),
  new Firebase.Analytics.Parameter(
    "hit_accuracy", 3.14f)
};
Firebase.Analytics.FirebaseAnalytics.LogEvent(
  Firebase.Analytics.FirebaseAnalytics.EventLevelUp,
  LevelUpParameters);

파이어베이스에 미리 준비된 인수유형을 사용하거나, 임의의 string으로 유형을 만들어 사용할 수 있습니다.

단순하게 LogEvent(문자열, 문자열, 문자나 숫자) 로 기록할 수 있습니다.

 


유니티에서 파이어베이스 애널리틱스 시작하기 : https://firebase.google.com/docs/analytics/unity/start

파이어베이스 애널리틱스 인수 유형 : https://firebase.google.com/docs/reference/unity/class/firebase/analytics/firebase-analytics#logevent

반응형