일단 안드로이드 스튜디오에 내장된 기능으로 굉장히 쉽게 푸쉬 기능을 구축할 수 있다.


Tools->Firebase 를 눌러 Notifications으로 들어가 시키는대로 따라하면 기초적인 준비는 완료된다.




알림은 Firebase 콘솔에서 Notifications을 선택하여 쉽게 전송할 수 있다.


여기서 메시지를 입력하고 사용자 세그먼트에서 앱을 선택해서 전송해도 좋고 주제를 선택해도 좋다. 주제는 별도로 생성하는 파트는 없고 토픽을 구독하려는 어플리케이션이 있으면 해당 토픽을 자동적으로 생성하는 모양이다. 적용되는데는 시간이 꽤 걸리므로 인내가 필요한듯 싶다.




하지만 Firebase 콘솔에서는 어플리케이션이 켜져있을때 한정으로만 메시지 전송이 가능하기때문에 백그라운드에서도 작동하게 만드려면 API를 사용해야한다.


필자는 가장 익숙한 C#을 사용하였지만 Node.js를 사용하는 사람도 있고, 아마 php로도 되지않을까싶다.


관련 문서: https://firebase.google.com/docs/cloud-messaging/http-server-ref




WebClient클래스를 사용하여 POST형식으로 보내려고 하였으나 Header를 설정하는 부분에서 문제가 발생하여 HttpWebRequest를 사용하였다.


여기서 ContentType과 Authorization는 필수적으로 들어가야한다. Authorization해더가 없는 경우에는 인증 에러가 뜨기 때문에...



서버 키는 Firebase 콘솔에서 프로젝트 설정->클라우드 메시징에 들어가 확인할 수 있다.




해당 기능을 사용하면 푸쉬서버가 없어도 원하는 푸쉬 알림을 보낼 수 있지만 특정 변화에 자동적으로 반응하는 기능을 구현하고싶다면 서버가 필요하지않을까...

+ Recent posts