본문 바로가기
개발/Firebase

유니티 C# 파이어베이스 실시간 데이터베이스 간단 사용법 Realtime Database

by SPNK 2024. 3. 9.
반응형

파이어베이스 SDK 다운로드

 

Unity 프로젝트에 Firebase 추가  |  Unity용 Firebase

의견 보내기 Unity 프로젝트에 Firebase 추가 Firebase Unity SDK를 활용하여 Unity 게임을 업그레이드 해보세요. Firebase를 Unity 프로젝트에 연결하는 것이 얼마나 간편한지 보여드리기 위해 Google은 MechaHamst

firebase.google.com

 

 

압축 푼 뒤

dotnet4 / FirebaseDatabase.unitypackage 설치


  • 코드 작성
using UnityEngine;
using Firebase;
using Firebase.Database;
using Firebase.Extensions;

public class FirebaseDatabaseManager : MonoBehaviour
{
    DatabaseReference reference;

    void Start()
    {
        // Firebase 초기화
        FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task => {
            FirebaseApp app = FirebaseApp.DefaultInstance;
            reference = FirebaseDatabase.DefaultInstance.RootReference;

            if (task.Exception != null)
            {
                Debug.LogError($"Firebase 초기화 오류: {task.Exception}");
            }
        });
    }

    // 데이터베이스에 데이터 쓰기
    public void WriteData(string key, string value)
    {
        DatabaseReference childReference = reference.Child(key);
        childReference.SetValueAsync(value).ContinueWithOnMainThread(task => {
            if (task.Exception != null)
            {
                Debug.LogError($"데이터 쓰기 오류: {task.Exception}");
            }
            else
            {
                Debug.Log("데이터 쓰기 성공!");
            }
        });
    }

    // 데이터베이스에서 데이터 읽기
    public void ReadData(string key, System.Action<string> onDataReceived)
    {
        DatabaseReference childReference = reference.Child(key);
        childReference.GetValueAsync().ContinueWithOnMainThread(task => {
            if (task.Exception != null)
            {
                Debug.LogError($"데이터 읽기 오류: {task.Exception}");
            }
            else if (task.Result.Exists)
            {
                string value = task.Result.GetRawJsonValue();
                onDataReceived?.Invoke(value);
            }
            else
            {
                Debug.Log("데이터가 존재하지 않습니다.");
            }
        });
    }
}
반응형

댓글