• 티스토리 홈
  • 프로필사진
    개양반
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
개양반
  • 프로필사진
    개양반
    • Everybody Happyvirus (87)
      • Unity DOTS (19)
        • ECS Sample Projtect (8)
        • Unity.Physics (1)
        • TIP (9)
      • Unity Assets 추천 (6)
        • BG Database (5)
        • I2 Localization - 현지화 (1)
      • Unity 자습서 (15)
        • Addressable (4)
        • 유니티 + 파이어베이스 (0)
        • GamingServices (10)
      • 주식 이야기 (4)
        • 회사 소개 (2)
        • 회사 정보 (1)
        • 실적 발표 (0)
      • 일상 생활 (9)
        • 도서리뷰 (2)
        • 제품리뷰 (6)
      • 게임일기 (2)
        • 리그오브레전드 (2)
      • 게임소개 (4)
      • 게임리뷰 (7)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 파이어베이스(firebase) Cloud Functions #3
        2017년 11월 22일
        • 개양반
        • 작성자
        • 2017.11.22.:02

        선행작업


        Node.js 와 npm 이 설치되어 있어야 합니다. [바로가기]


        오늘 공부할 내용


        실시간 데이터베이스 트리거에 대해 공부하겠습니다.

        실시간 데이터의 값이 생성/삭제/변동 등을 감지해서 트리거가 작동되면 함수의 내용이 실행되는 내용입니다.


        이벤트 핸들러는

        • onWrite() - 실시간 데이터베이스에서 데이터가 생성, 폐기 또는 변경될 때 트리거됩니다.
        • onCreate() - 실시간 데이터베이스에서 새 데이터가 생성될 때 트리거됩니다.
        • onUpdate() - 실시간 데이터베이스에서 데이터가 업데이트될 때 트리거됩니다.
        • onDelete() - 실시간 데이터베이스에서 데이터가 삭제될 때 트리거됩니다.

        등이 있습니다.


        이벤트 데이터 처리


        Index.js 에 아래 코드 내용을 입력합니다.

        ('/messages/{pushId}/original) 의 값이 생성되면 .onWrite() 가 감지해서 트리거가 실행됩니다.


        CMD 창을 관리자로 실행한 다음 프로젝트 경로로 이동합니다.

        그 뒤에 firebase deploy --only functions 를 입력합니다.


        완료되면 파이어베이스의 Database 로 이동해서 아래와 같이 만들어 줍니다.


        값이 입력되고 잠시 후에 original 의 값이 uppercase 에 대문자로 입력되어 데이터가 추가됩니다.


        이전 값 읽기


        previous 속성을 사용하면 이벤트가 발생하기 전에 데이터베이스에 저장되어 있던

        데이터를 검사할 수 있습니다.


        index.js 에 아래와 같이 코드를 입력하고 저장합니다.

        event.data.previous.exists() 는 이벤트가 일어나기 전에 데이터의 존재여부를 체크합니다.


        변경된 값 모니터링


        changed() 속성으로 해당 경로에서 데이터가 변경되었는지 확인할 수 있습니다.

        profilePictureSnapshot.changed() 로 프로파일의 이미지가 변경되었는지 체크합니다.




        CloudFunction 을 통해서 실시간데이터의 하위 노드수를 제한할 수도 있습니다.

        예로 게시판의 글이 너무 많아지면 가장 오래된 게시글을 삭제해서 저장용량을 관리할 수 있습니다.

        또는 전투, 재화 등이 허용범위보다 커지면 해킹유저로 취급할 수도 있습니다.

        그리고 실시간데이터베이스의 데이터를  Google Cloud BigQuery 로 복사도 할 수 있다고 합니다.



        API 레퍼런스를 통해 어떤 함수들이 있는지 살펴보길 권장합니다.

        https://firebase.google.com/docs/reference/functions/?hl=ko

        저작자표시 비영리 (새창열림)

        'Unity 자습서 > 유니티 + 파이어베이스' 카테고리의 다른 글

        파이어베이스(firebase) Cloud Message  (2) 2017.11.23
        파이어베이스(firebase) Cloud Functions #4  (0) 2017.11.22
        파이어베이스(firebase) Cloud Functions #2  (0) 2017.11.22
        파이어베이스(firebase) Cloud Functions #1  (2) 2017.11.22
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바