안드로이드에서 FCM을 이용해서 PUSH 메시지를 보내는 방법입니다.
기존 자료들을 찾아보면 FCM 예제가 많은데, 이후에 gradle 버전, FCM SDK 버전 등이 업데이트 되면서 변경된 사항들이 있어서, 현재 기준으로 다시 정리 하였습니다.
백그라운드 전체 사용자 notification
첫번째 예제는 FCM으로 백그라운드 notification을 전체 사용자에게 보내는 방법입니다.
참고로 FCM에서 포그라운드, 백그라운드, notification, data에서 약간의 차이점이 있는데, 가장 소스 코드가 짧은 순으로 진행해 보겠습니다.
build.gradle (Project)
기존 파일에서 plugin 추가
plugins {
id 'com.google.gms.google-services' version '4.3.15' apply false
}
build.gradle(Module:app)
기존 파일에서 plugin과 dependency 추가
plugins {
id 'com.google.gms.google-services'
}
dependencies {
implementation 'com.google.firebase:firebase-messaging:23.2.1'
}
AndroidManifest.xml
기존 파일에서 notification 권한 추가
※ 가이드 문서 보면 소스에서 런타임 권한 요청을 해야 한다고 하는데 안해도 되네요. 이유는 모름
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
Firebase console에서 메시지 보내기
Messaging 메뉴에서 메시지를 보내면 등록된 앱의 전체 사용자에게 notification을 보냅니다.
※ Firebase console 사용방법은 직관적으로 사용 가능해서 생략 하겠습니다.
결과 화면
앱이 백그라운드 상태에 있을 때에만(중요), Notification 알림이 뜹니다.
앱이 포그라운드 상태에 있을 때에는 알림이 안뜹니다.
해석
처음 하시는 분들은 소스 수정 한 것도 없는데 뭔가 되는 것 보면 신기할 수 있습니다.
추가했던 플러그인 FCM SDK에서 자동으로 해주기 때문입니다.
서두에서 간략하게 언급 했던 사항인데, notification 메시지는 앱이 백그라운드에서 상태에서 알림을 띄워주는 것을 FCM SDK에서 자동으로 해줍니다.
다음 장에서는 notification 메시지를 앱이 포그라운드 상태에서 알림 띄우는 방법을 해보겠습니다.
'개발 - 안드로이드' 카테고리의 다른 글
안드로이드 editText 라인 수에 따른 자동 높이 조절 (0) | 2023.09.14 |
---|---|
안드로이드 TabLayout 서브페이지에서 서브페이지 이동시 Tab 인덱스 변경 방법 (0) | 2023.09.11 |
안드로이드 FCM 스프링 서버에서 특정 사용자에게 notification 예제 #03 (0) | 2023.09.09 |
안드로이드 FCM 포그라운드 전체 사용자 notification 예제 #02 (0) | 2023.09.09 |
안드로이드 fragment refresh 방법 (0) | 2023.08.30 |