본문 바로가기
개발언어/Xamarin

Google Firebase 연동 - Realtime Databas

by 공장장코난 2021. 3. 6.

이번엔 멤버십 연동을 위해 BackEnd 개발에 앞서 Google Firebase를 통해 Xamarin기반 앱에서 간단하게 회원정보를
관리할 생각이다.
우선, Firebase 계정 가입 후 '프로젝트 추가'를 통해 연동할 프로젝트를 생성하자.

프로젝트 생성을 완료하면 Authentication, Cloud Firestore, Realtime Database, Storage, Hosting 기능을 사용할 수 있다. 하지만 이번엔 Realtime Database를 통해 멤버십 데이터 CRUD를 공부할 계획이라 나머지는 다음으로 미룬다.

우선 Realmtime Database 접속을 위한 url이 프로젝트명으로 제공된다.
http://프로젝트명-default-rtdb.firebase.com/

이후 Xamarin Project 생성 후 Nuget Package 솔루션 관리를 통해 FirebaseDatabase.net Library를 설치 한다.

코드 기반 관리로 스키마를 별도 지정할 필요 없이 아래 Member class가 곧 DB의 테이블 구조가 된다.

PostAsync()를 통해 데이터를 등록, 생성한 Member class의 값을 그대로 적용하면 데이터가 등록된다.

*Permission denied Exception
처음 PostAsync()를 수행하였을때 Permission denied 오류가 발생한다. 처음엔 원인을 몰랐으나, Read/Write Rules를 수정해야 하는데, 기본값은 true 값이 적용되어 있다.
{
   "rules": {
      ".read": "true",
      ".write": "true",
   }
}

구글링 결과 CRUD 적용시 auth == null 적용을 적용해야 한단다.
{
  "rules": {
    ".read": "auth==null",
    ".write": "auth==null"
  }
}