본문 바로가기

정보글

Firebase란

728x90

이 글은 Firebase의 기능들을 간단하게 요약한 글입니다! 

 

Firebase란?

파이어베이스(Firebase)는 2011년 파이어베이스(Firebase, Inc)사가 개발하고 2014년 구글에 인수된 모바일 및 웹 애플리케이션 개발 플랫폼이다.


안드로이드 프로젝트에 firebase 추가하기(아래 과정)

    1)firebase 웹 사이트로 이동하여 json파일 다운로드

    2)다운로드한 json 파일을 [Firebase]-[app] 디렉토리 아래에 놓기

     3)firebase SDK 추가


App Check

  • 수신 트래픽이 앱에서 시작되었는지 확인하고 유효한 사용자 인증 정보가 없는 트래픽을 차단하여 서비스에 대한 액세스를 보호하는 추가 보안 레이어
  • 승인된 request승인되지 않은 request 확인 가능
  • 확인가능한 api로는 Storage, Realtime Database, Cloud Firestore, Functions, Custom backend가 있다.

 

Authentication

  • 회원가입과 로그인을 위한 인증과 관련된 서비스
    • 이메일/패스워드
    • 핸드폰
    • 익명
    • google, apple, facebook etc.
  • Sign-in providers 에서 provider 선택 가능

  • Firebase Auth. 로 회원가입이 되면, “Firebase Console > Authentication” 에서 가입한 회원 목록 확인 가능

 

Crashlytics

  • 앱이 어디서 충돌나는지 어디서 비정상적으로 종료되는지 등을 자세하게 설명
  • 유저가 비정상적으로 종료되었을 때 개발자에게 알려주는 오류 보고 도구
  • Filter를 통해 특정 버전에서 일어난 events들을 살펴볼 수 있다
  • 문제를 클릭해서 들어가보면 비정상 종료되는 쓰레드 스택, 디바이스 정보까지 나타남

 

Dynamic Links

  • 접속한 플랫폼이 어디인가에 따라 적절한 반응을 하도록 하는 것
    • 다운로드 버튼을 iOS에서 누르면 App Store로 이동하고, Android에서 누르면 Play Store로 이동
    • 설치가 되어있을 때 원하는 콘텐츠로 이동
  • 링크 추가 방법
    1. 원하는 도메인 등록
    2. 딥링크 URL 설정, 동적 링크 이름 설정
    3. Apple용 링크 동작 정의
    4. Android용 링크 동작 정의
    5. 캠페인 추적, 소셜 태그, 고급 옵션(선택)

 

Firestore Database

  • 구글(firebase)에서 지원하는 NoSQL 데이터베이스 서비스로, 실시간 리스너를 통해 사용자와 기기간 데이터의 실시간 동기화가 가능하다. 또한, Cloud Firestore는 앱에서 많이 사용되는 데이터를 캐시하기 때문에 기기가 오프라인 상태가 되더라도 앱에서 데이터를 쓰고 읽고 수신 대기하고 쿼리할 수 있다. (NoSQL이란?: https://www.mongodb.com/ko-kr/nosql-explained )
  • 구조 그림

  • CollectionDocument 로 구성된 트리구조
    • Collection: Document를 저장하는 공간
    • Document: 딕셔너리 형태로 자료를 저장하는 공간
  • Collection(폴더) -> Document(파일) -> field(data) 순으로 짜여짐
    • field 값으로 Collection 가질 수 있다.

 

Functions

  • Firebase 기능과 HTTPS 요청에 의해 트리거되는 이벤트에 응답하여 백엔드 코드를 자동으로 실행할 수 있는 serverless 프레임워크
  • google cloud flatform으로 주로 관리(https://youwin0322.tistory.com/m/7 )
  • 함수의 이름만 알면 URL을 이용하지 않고도 서버에 있는 기능을 호출할 수 있다
  • 이 기능을 사용하기 위한 환경 설정 과정 : https://dgraphcorp.atlassian.net/wiki/spaces/DEV/pages/8716289
  • 대시보드에 배포가 완료된 functions들 보이고 사용량 확인 가능

 

 

Messaging

  • FCM: Firebase Cloud Messaging 이라고도 불림
  • 사용자 디바이스에 설치된 앱 단위로 메세지를 전송할 수 있는 서비스
  • 플랫폼에 종속되지 않고 push 메세지 전송 가
  • 아래와 같이 구성

  • 메세지 타입
    • 알림 메세지(Notification message): 핸드폰 푸시 알림 메세지
    • 데이터 메세지: 알림 메세지를 클릭하였을때 앱 내 특정 페이지로 이동이나, 어떠한 액션이 이뤄지는 메세지
  • 타겟팅(아래 3가지 방식으로 클라이언트 앱에 메시지 배포 가능)
    • 단일기기: 하나의 기기
    • 기기 그룹: 알림 키에 허용되는 그룹
    • 주제를 구독한 기기: 등록 토큰에 구독된 기기
  • 클라이언트 앱에서 메세지 전송가능
    • 기기에서 다시 서버로 확인, 채팅, 기타 메세지 전송 가능

 

Storage

  • 사진이나 동영상과 같은 사용자 생성 콘텐츠를 저장하고 제공하기 위해 만들어진 개체 스토리지 서비스
  • 구글 Firebase SDK 자체에서 앱의 파일 업로드 및 다운로드에 보안이 적용되어 있기 때문에 안전하고 이미지, 오디오, 동영상 등의 사용자 제작 콘텐츠를 저장할 수 있다.
  • 구현

 

Remote Config

  • 앱에서 별도의 업데이트를 하지 않아도 앱의 동작과 모양을 변경할 수 있는 클라우드 서비스
  • 앱을 강제로 업데이트 할때, 특정 이벤트 기간에만 보여줘야 하는 내용이 있을때 사용

 

 

Extention

  • 이미 구현된 여러 기능을 앱에 빠르게 배포할 수 있는 프로그램
  • 앱 또는 프로젝트에서 구체적으로 정의된 이벤트가 발생할 때마다 클라우드 함수를 통해 작업을 수행
  • ex) 이미지 크기 조절, 사용자 데이터 삭제, 텍스트 번역 etc.


참고자료: https://firebase.google.com/docs

 

Firebase 문서

<span></span>

firebase.google.com

https://firebase.blog/posts/2019/06/understanding-collection-group-queries

 

The Firebase Blog

News, tutorials, and updates from the Firebase team.

firebase.blog

https://velog.io/@peche3/Firebase-Cloud-Functions-1-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0

 

Firebase Cloud Functions #1 : 시작하기

🧐 Firebase Cloud Functions 에 대하여 알아보자

velog.io

 

728x90