저번 글과 이어서 Unity에서 Database를 활용하는 방법에 대해서 공부하겠습니다.
Firebase Database 연동
Google에서 서비스하는 Firebase를 활용하겠습니다. Firebase에는 데이터베이스, 사용자 관리, 인앱결제 등 게임에서 필요한 다양한 기능들을 지원해 줍니다. 물론 무료입니다. (유료 버전도 있습니다)
우선, Unity 전용 Firebase Library가 필요합니다. Firebase Unity SDK를 설치하겠습니다. (SDK: Software Development Kit. 소프트웨어 도우미)
이곳에서 다운받을 수 있습니다. Firebase Unity SDK 다운로드
다운로드를 받아줍니다.
폴더를 열어보시면 dotnet3와 dotnet4가 있습니다.
Unity 버전에 따라 .NET 프레임워크가 버전이 다르기 때문에
dotnet3 : Unity 5.x 이하 버전
dotnet4 : Unity 2017.x 이상 버전
각자 환경에 맞춰 사용하면 되겠습니다.
저는 Unity 2019.2.8을 사용하고 있기 때문에 dotnet4를 사용하겠습니다. (글쓴 날: 2019/11/28)
donet4 폴더를 보시면, Firebase Package가 여러 개 들어있습니다. 이 중에서 FirebaseDatabase를 유니티로 Import 하겠습니다.
Import하다가 이런 창이 뜬다면 Apply해도 됩니다.
사용하지 않는 파일 지우는 것입니다.
그리고 Enable Android Auto-resolution? 이라는 창이 뜬다면 Enable해주도록 합시다.
기본적으로 안드로이드 개발환경 자체가 다양한 종속성을 가지고 있습니다. 그래서 어떤 라이브러리를 이용하고자 한다면 그 라이브러리에 포함되어 있는 다른 라이브러리가 존재합니다. 이와 같이 다양한 라이브러리가 얽히고 섥히는 관계를 종속성이라고 하는데, 이러한 종속성을 처리하면서 유니티 안에서 실질적으로 안드로이드 배포가 가능하도록 Firebase Library를 셋팅해주는 과정이라고 생각하면 됩니다.
다른 창이 떠도 왠만하면 확인하는 게 나을 것 같습니다. (나쁜 건 아닐테니 ^^)
여기서 잠깐. 저는 게임을 모바일로 만들 것이기 때문에 설정을 모바일로 바꾸겠습니다.
모바일로 Build를 할 것이기 때문에 빌드 설정을 Android로 바꾸겠습니다.
File - Build Settings - Android - Switch Platform버튼을 누르시면 빌드 설정이 완료됩니다.
다음과 같이 모바일로 빌드 셋팅이 완료되었습니다.
그리고 Android SDK가 설치 되어있어야 하는데, 설치 확인은 Edit - Preferences - External Tools에서 가능합니다.
네. 설치가 되어있습니다. 참고로 설치는 Unity Hub에서 모듈 추가하시면 설치가능합니다.
이제 Firebase와 Unity를 연동하겠습니다.
설정 - 프로젝트 설정
+앱 추가 - Android를 선택합니다.
그럼 다음과 같은 화면이 나오는데 Android 패키지 이름은 플레이스토어에 올라갈 고유의 이름입니다. 일반적으로 회사나 개인의 도메인을 넣는 경우가 많습니다. 보통 게임개발하면서 웹사이트도 개발하는 경우도 있어서 웹사이트 도메인명을 넣는 경우가 많습니다.
하지만 저는 도메인이 따로 없기에 다음과 같이 입력했습니다. 디버그 서명 인증서는 알아서 해주니 일단 건너갑니다. (사실 아직 뭔지 모릅니다ㅎ)
(Android 패키지 이름은 유니티와 동일하게 설정해야 하기 때문에 알고 있어야 합니다.)
다음으로 넘어가면 이와 같은 화면이 나옵니다.
저의 앱(게임)에서 Firebase 데이터에 접근해야하니 Firebase가 있는 곳의 경로가 필요합니다. 이러한 정보를 담고 있는 것이 google-services.json입니다. 현재 저는 Database기능만 사용해서 Database에 대한 정보만 있습니다.
google-services.json파일을 다운받아 Unity에 Assets - Plugins - Android - Firebase폴더에 추가합니다. (어느 폴더에 있든 인식은 됩니다. 저는 여기에 넣는 습관이 있어서 해당 폴더에 넣었습니다.)
다음으로 넘어가면 Firebase SDK 추가가 나올텐데, 이것은 Android Studio 개발에 필요한 것이기 때문에 넘어갑니다.
이 단계에서는 아직 유니티 설정을 해주지 않아서 설치확인만 반복되고 있습니다. 우선 이 단계 건너뛰기를 해서 넘어갑니다.
다음과 같이 앱이 추가가 되었습니다.
이제 유니티에서 Bundle ID값을 설정해야 합니다. 즉, 현재 Firebase에서 정한 Package명과 Unity에 Package명이 다릅니다. 그래서 동일하게 수정해줘야 합니다.
File - Build Settings - Player Settings... - Other Settings - Package Name 수정
이 곳을 Firebase에서 정한 Package명과 동일하게 해줍니다.
수정 중, 이런 창이 뜨면, 원하는 Package명을 선택하시면 됩니다. 그럼 수정이 됩니다.
이제, Unity와 firebase Database 연동이 완료되었습니다!
다음엔 연동된 Firebase Database를 활용해보도록 하겠습니다.
'게임 > Unity' 카테고리의 다른 글
[Unity 이론] Firebase Auth 회원가입 및 로그인 (0) | 2019.12.08 |
---|---|
[Unity 이론] Firebase Database 데이터 사용 (6) | 2019.11.28 |
[Unity 이론] Firebase Database (0) | 2019.11.28 |
[Unity 이론] Object Pooling (0) | 2019.11.26 |
[Unity 이론] Coroutine (1) | 2019.11.26 |
댓글