Side Project - Push-Notification-Receiver
FCM(Firebase Cloud Messaging)을 통해 보낸 메세지를 수신하는 앱을 구현한 프로젝트
GitHub - hwayeon351/Push-Notification-Reciever
Contribute to hwayeon351/Push-Notification-Reciever development by creating an account on GitHub.
github.com
학습 회고
오늘은 Firebase의 클라우드 메세징을 안드로이드 앱에 연동해서 FCM을 통해 전송한 메세지를 수신하는 앱을 만드는 프로젝트를 시작했다.
오늘 공부한 내용
- Firebase Cloud Messaging(FCM)
Firebase 클라우드 메시징은 무료로 메세지를 안정적으로 전송할 수 있는 교차 플랫폼 메시징 솔루션이다.
FCM을 사용하면 클라이언트 앱으로 알림 메세지를 전송할 수 있다.
- 클라이언트 앱이 메세지를 수신하도록 기기를 등록하여 해당 앱 인스턴스를 고유하게 식별하는 등록 토큰을 받는다.
- 메세지를 보내는 앱 서버에서 클라이언트 앱으로 메세지를 보낸다.
- 메세지 요청이 FCM backend로 전송된다.
- FCM 백엔드가 메세지 요청을 수신하고 메세지 ID와 기타 메타데이터를 생성해서 플랫폼별 전송 레이어로 보낸다.
- 기기가 온라인 상태이면 메세지가 플랫폼별 전송 레이어를 통해 기기로 전송된다.
- 기기의 클라이언트 앱이 메세지나 알림을 수신한다.
메세지 유형은 2가지가 있다.
- 알림 메세지 - 사용자에게 표시되는 Key 모음이 사전에 정의되어 있으며, FCM SDK에서 메세지를 자동으로 처리한다.
앱이 Background 상태이면 알림 메세지는 알림 목록으로 전송된다. Foreground 상태인 경우, 콜백 함수가 메세지를 처리한다.
- 데이터 메세지 - 사용자가 정의한 커스텀 Key-Value 상만 포함되며, 클라이언트 앱에서 처리한다.
푸시 알림 수신기 앱에서는 데이터 메세지를 사용하였다.
https://firebase.google.com/docs/cloud-messaging/fcm-architecture
FCM 아키텍처 개요 | Firebase Documentation
의견 보내기 FCM 아키텍처 개요 FCM은 메시지를 빌드, 전송, 수신하는 다음 구성요소 집합을 사용합니다. 메시지 요청을 작성하거나 구현하는 도구입니다. 알림 작성기는 알림 요청을 만들기 위한
firebase.google.com
- FirebaseMessagingService
Forground 상태인 앱에서 데이터 메세지를 수신하기 위해 FirebaseMessagingService를 확장하는 서비스를 사용해서 onMessageReceived() 콜백 메서드를 오버라이딩 했다.
onMessageReceived()는 앱이 Foreground 상태일 때 알림을 수신 받으면 호출되는 콜백 메서드이다.
Background 상태일 때는 기기의 작업 표시줄로 알림이 전송된다.
FirebaseMessagingService를 사용하려면 우선 앱 매니페스트 파일에 service 구성요소를 추가해줘야 하고 MESSAGING_EVENT action을 추가해야 한다.
<service
android:name=".java.MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
https://firebase.google.com/docs/cloud-messaging/android/receive
Android 앱에서 메시지 수신 | Firebase Documentation
의견 보내기 Android 앱에서 메시지 수신 Firebase 알림의 동작은 수신하는 앱의 포그라운드/백그라운드 상태에 따라 달라집니다. 포그라운드 상태인 앱에서 알림 메시지 또는 데이터 메시지를 수신
firebase.google.com
'Android > Side Projects' 카테고리의 다른 글
오늘의 명언 앱 개발하기 (0) | 2022.02.06 |
---|---|
푸쉬 알림 수신기 앱 개발하기 (0) | 2022.02.05 |
Simple Web Browser 앱 개발하기 (0) | 2022.02.03 |
녹음기 앱 개발하기 (0) | 2022.02.02 |
녹음기 앱 개발하기 (0) | 2022.02.01 |