CodeLab/Firebase19 Firebase Realtime Database 조금 더 자세히 Firebase Realtime Database의 경우 개발자가 흔하게 접할수 있는 SQL 데이터베이스와는 확연히 다릅니다. JSON형태의 NoSQL 데이터베이스이며 실시간 동기화라는 특별한 기능 덕분에 강력한 기능을 앱상에서 구현할 수 있지만, 그로 인해 형태는 같은 NoSQL 이지만 일반적인 NoSQL 데이터베이스와도 다르게 신경써야하는 부분들이 있습니다. 앞서 Realtime Database챕터와 예제 챕터들을 거치면서 많이 다루어보았지만, 조금 더 익숙해지기 위해 간단한 예시들로 다양한 상황들을 연습해보겠습니다. 1) SQL to Firebase 흔하게 사용하는 SQL쿼리를 Firebase 메소드로 변형해보겠습니다. 예제를 시작하기전에 아래의 링크의 파일을 받습니다. 앞서 예제를 하면서 git에서.. 2018. 1. 9. Firebase Web 채팅앱 만들기 - Realtime Database 권한 설정 여기까지 따라오시느라 수고하셨습니다. 코드는 완성되었습니다. 앞서도 언급되었지만, Firebase Realtime Database특성상 권한 설정은 무척 중요합니다. 특히나 웹의 경우는 서버의 주요 로직들이 클라이언트에서 드러나기 때문입니다. Realtime Database의 기본 권한은 Authentication 인증 받았을 때 읽기와 쓰기 허용입니다. database.rules.json 파일에 Realtime Database 권한이 입력되어 있습니다. 해당 파일을 배포함으로써 권한 정보를 업데이트할 수 있습니다. Firebase console 창을 통해서도 권한 룰을 변경할 수 있습니다. Firebase console 화면에서 Database항목 에서 규칙 탭으로 들어가면 권한을 변경할 수 있고, 시.. 2017. 12. 4. Firebase Web 채팅앱 만들기 - Cloud Messaging과 Functions을 이용한 푸시메세지 기능 - Service worker를 이용한 FCM수신 FCM 수신은 앱이 구동되고 있을 때 수신하는 포그라운드로 수신하는 방법과 앱이 구동되고있지 않을 때 백그라운드로 수신하는 방법이 있습니다. 접속하지 않은 유저들에게만 푸시를 보내려고 하기 때문에 백그라운드만 작성할 계획입니다. 포그라운드로 수신하는 방법도 잠시 소개합니다. 아래는 포그라운드로 수신하는 코드입니다. Firebase Messaging을 설정할때 권한을 획득하면서 requestPermission 메소드를 실행했는데, 이 메소드 이후에 적당한 위치에서 실행하면 됩니다. firebase.messaging().onMessage(function(payload) { var options = { body : payload.notification.body , icon : payload.notificati.. 2017. 12. 4. Firebase Web 채팅앱 만들기 - Cloud Messaging과 Functions을 이용한 푸시메세지 기능 - Functions를 통한 FCM 발송 FCM 발송 작업을 클라이언트 코드에서도 할 수 있으나, Firebase Messaging Server API Key가 클라이언트 코드에 포함되는 것은 보안상 좋은 방법이 아니므로 서버를 사용해야합니다. 여기서 처음으로 Firebase Functions 를 이용해볼 것입니다. Functions 는 Firebase 서비스들이 동작하면서 발생하는 이벤트를 받아 서버에서 Firebase Admin을 통하여 Firebase 서비스들을 구동시키는 코드를 수행합니다. Functions가 받는 이벤트는 아래와 같습니다. Reatime Database 트리거 - onWrite() - 실시간 데이터베이스에서 데이터가 생성, 폐기 또는 변경될 때 발생 - onCreate() - 실시간 데이터베이스에서 새 데이터가 생성 시.. 2017. 12. 4. 이전 1 2 3 4 5 다음 728x90