본문 바로가기

채팅17

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.
Firebase Web 채팅앱 만들기 - Cloud Messaging과 Functions을 이용한 푸시메세지 기능 - FCM Token 정보 저장 요즘 웹브라우저에서는 안드로이드 또는 IOS에서 볼 수 있는 푸시 기능을 지원하는 브라우저가 있습니다. 요즘 Youtube나 Facebook을 이용하시고, Chrome 또는 Firefox 브라우저를 사용하신다면 아래와 같은 푸시를 받아보셨을 것입니다. 이는 서비스 워커라는 브라우저에서 백그라운드로 실행되는 자바스크립트 기반의 워커를 통해서 메세지를 수신하고 노티피케이션을 구동하게 됩니다. 일반적인 웹 워커는 웹앱 내에서 자바스크립트로 멀티쓰레드 처리를 위해 사용됩니다. 서비스워커도 비슷하지만 차이점이 있습니다. 웹워커는 웹앱이 실행되는 동안만 유지되고 실행되지만 서비스워커의 경우 웹앱을 벗어나더라도 브라우저가 실행이 되어 있으면 지속적으로 이벤트를 받고 처리를 수행합니다. 이러한 서비스워커를 지원하는 브.. 2017. 12. 4.
728x90