Unity용 Firebase 실시간 데이터베이스 시작하기

Firebase 실시간 데이터베이스는 NoSQL 클라우드 데이터베이스를 사용하여 데이터를 저장하고 동기화합니다. 모든 클라이언트에서 실시간으로 데이터가 동기화되고 앱이 오프라인일 때도 데이터를 사용할 수 있습니다.

시작하기 전에

실시간 데이터베이스를 사용하려면 먼저 다음을 수행해야 합니다.

  • Unity 프로젝트를 등록하고 Firebase를 사용하도록 구성합니다.

    • Unity 프로젝트에서 현재 Firebase를 사용하고 있다면 이미 등록되어 Firebase용으로 구성된 것입니다.

    • Unity 프로젝트가 없는 경우 샘플 앱을 다운로드하면 됩니다.

  • Firebase Unity SDK(특히 FirebaseDatabase.unitypackage)를 Unity 프로젝트에 추가합니다.

Unity 프로젝트에 Firebase를 추가할 때 Firebase 콘솔 및 열려 있는 Unity 프로젝트 모두에서 작업을 수행해야 합니다. 예를 들어 콘솔에서 Firebase 구성 파일을 다운로드한 후 이 파일을 Unity 프로젝트로 이동하는 작업이 필요합니다.

데이터베이스 만들기

  1. Firebase 프로젝트를 아직 만들지 않았다면 Firebase Console에서 프로젝트 추가를 클릭한 후 화면의 안내에 따라 Firebase 프로젝트를 만들거나 기존 GCP 프로젝트에 Firebase 서비스를 추가합니다.

  2. Firebase Console실시간 데이터베이스 섹션으로 이동합니다. 기존 Firebase 프로젝트를 선택하라는 메시지가 표시됩니다. 데이터베이스 만들기 워크플로를 따릅니다.

  3. Firebase 보안 규칙의 시작 모드를 선택합니다.

    테스트 모드

    모바일 및 웹 클라이언트 라이브러리를 시작할 때 유용하지만 모든 사용자가 데이터를 읽고 덮어쓸 수 있습니다. 테스트 완료 후 Firebase 실시간 데이터베이스 규칙 이해 섹션을 검토해야 합니다.

    웹, iOS 또는 Android SDK를 시작하려면 테스트 모드를 선택하세요.

    잠금 모드

    모바일 및 웹 클라이언트의 모든 읽기 및 쓰기를 거부합니다. 인증된 애플리케이션 서버에서는 사용자의 데이터베이스에 계속 액세스할 수 있습니다.

  4. 완료를 클릭합니다.

실시간 데이터베이스를 사용 설정하면 Cloud API Manager의 API도 사용 설정됩니다.

공개 액세스 설정

실시간 데이터베이스가 제공하는 선언적 규칙 언어로 데이터의 구조, 색인 생성 방법 및 데이터를 읽고 쓸 수 있는 조건을 정의할 수 있습니다.

Unity 편집기용 SDK 구성

Unity 편집기에서 장면을 테스트할 때 실시간 데이터베이스를 사용할 수 있습니다. 올바른 데이터베이스 URL로 SDK를 구성한 후 데이터베이스 URL로 SetEditorDatabaseUrl을 호출하면 됩니다.

using Firebase;
using Firebase.Unity.Editor;

public class MyScript: MonoBehaviour {
  void Start() {
    // Set this before calling into the realtime database.
    FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://YOUR-FIREBASE-APP.firebaseio.com/");
  }
}

규칙에서 공개 액세스를 사용하기로 결정했고 데이터베이스 URL을 설정했다면 데이터 저장 및 검색에 대한 섹션으로 이동하세요.

(선택사항) 제한된 액세스를 위한 편집기 설정

공개 액세스를 금지하는 규칙을 사용하려면 Unity 편집기에서 서비스 계정을 사용하도록 SDK를 구성해야 합니다. 이렇게 하면 테스트 하는 동안 최종 사용자로 가장하는 것도 가능합니다. 이와 같이 하려면 우선 다음 주소에서 새 p12 파일을 만듭니다.

https://console.cloud.google.com/iam-admin/serviceaccounts/project?project=YOUR-FIREBASE-APP

서비스 계정의 생성된 이메일 주소와 비밀번호를 기록해 둡니다.

Unity 프로젝트에서 'Editor Default Resources'에 p12 파일을 배치합니다. 다음으로, 아래 코드를 추가하여 서비스 계정 사용을 초기화합니다.

using Firebase;
using Firebase.Unity.Editor;

public class MyScript: MonoBehaviour {
  void Start() {
    // Set these values before calling into the realtime database.
    FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://YOUR-FIREBASE-APP.firebaseio.com/");
    FirebaseApp.DefaultInstance.SetEditorP12FileName("YOUR-FIREBASE-APP-P12.p12");
    FirebaseApp.DefaultInstance.SetEditorServiceAccountEmail("SERVICE-ACCOUNT-ID@YOUR-FIREBASE-APP.iam.gserviceaccount.com");
    FirebaseApp.DefaultInstance.SetEditorP12Password("notasecret");
  }
}

다음 단계