클라우드 함수
할일: 본 문서는 easy_cloud_functions 로 이동되어야 합니다.
파이어베이스 클라우드 함수는 백엔드로서의 역할을 한다. Firebase Client SDK 로 할 수 없는 것들을 Server SDK 로 할 수 있도록 해 주는 것이다. 다만, 이 클라우드 함수는 플러터 뿐만아니라, 다른 프레임워크를 지원하기 위해서 독립적으로 동작을 한다. 그래서 클라우드 함수는 별도의 Git Repo - 하우스엔진 에서 개발 및 운영된다.
하나 이상의 프론트엔드 플랫폼에서 사용되는 공통된 로직이 있으면 클라우드 함수로 사용하는 것을 원칙으로 한다.
파이어베이스를 설치하게 쉽게 파이어베이스 익스텐션 작업을 진행했지만, 구글 팀에 문의한 결과 HTTP v1 API 를 써도 익스텐션에서는 FCM 전송을 할 수 없다는 응답을 받아서, 익스텐션 작업은 뒤로 미뤄진 상태이다.
클라우드 함수에는 아래와 같은 것들이 있으며, 더 많이 추가될 수 있다.
회원 계정 삭제
회원 계정은 삭제는 오직 Server SDK 에서만 작업할 수 있다. 그래서 클라우드 함수로 만든다. 자세한 것은 하우스 엔진을 참고한다.
회원 계정 활성화와 비활성화
회원 계정은 활성화 비활성화는 오직 Server SDK 에서만 작업할 수 있다. 그래서 클라우드 함수로 만든다. 자세한 것은 하우스 엔진을 참고한다.
회원 탈퇴
일반적으로 회원 탈퇴를 하기 위해서는 recent login 이 필요하다. 번거로우므로 클라우드 함수로 작업한다. 자세한 것은 하우스 엔진을 참고한다.
푸시 알림
각종 글, 코멘트, 채팅 메시지 등에서 구독, 구독해제, 푸시 알림 등의 로직을 클라이언트에서 하지 않고, 클라우드 함수에서 한다. 자세한 것은 하우스 엔진을 참고한다.
다이나믹 링크
Firebase Dynamic Link 기능은 2025년 중반에 종료된다. 그래서 하우스만의 다이나믹 링크 서비스를 만든다. 자세한 것은 하우스 엔진을 참고한다.
좋아요
좋아요 기능은 얼핏 클라이언트엔드에서 하면 되지 않을까 생각하는데, 좋아요를 하면, 일방 좋아요, 쌍방 좋아요, 좋아요 카운트 증/감, 푸시 알림 등 좋아요 다음에 뒤따르는 단계가 많다. 그리고 플러터 뿐만아니라 리액트, 스벨트 등에서 작업을 할 때 동일한 로직을 쓰게 되는데, 클라우드 함수에서 작업하는 것이 올바르다.
자세한 것은 하우스 엔진을 참고한다.