Bloomreach와 함께 Android 푸시 알림 구현을 쉽게
Source: Dev.to
Introduction
푸시 알림은 앱이 사용자와 효과적으로 소통하도록 도와줍니다. 이 가이드는 Bloomreach(이전 Exponea)를 사용하여 Android에서 푸시 알림을 구현하는 방법을, 빈 프로젝트부터 작동하는 기능까지 설명합니다.
Prerequisites
- Android 앱이 Kotlin으로 작성됨
- Firebase Cloud Messaging(FCM)이 구성됨
- 푸시가 활성화된 Bloomreach 계정
- Android 앱 라이프사이클에 대한 기본 이해
고수준 아키텍처
- 앱이 FCM에 등록하고 디바이스 토큰을 획득합니다.
- 토큰이 Bloomreach SDK로 전송됩니다.
- Bloomreach가 FCM을 통해 푸시 캠페인을 보냅니다.
- FCM이 메시지를 디바이스에 전달합니다.
- 앱이 알림을 표시합니다.
Firebase 설정
- Firebase를 프로젝트에 추가하려면 Firebase 콘솔을 사용하세요.
google-services.json파일을app/폴더에 넣으세요.
Gradle 의존성
implementation platform('com.google.firebase:firebase-bom:33.0.0')
implementation 'com.google.firebase:firebase-messaging-ktx'
Google Services 플러그인 적용
plugins {
id 'com.google.gms.google-services'
}
Bloomreach SDK 통합 (구 Exponea)
1단계 – SDK 추가
implementation("com.exponea.sdk:sdk:4.8.1")
2단계 – SDK 초기화
Bloomreach Engagement 포털(Project Settings → Access Management → API)에서 projectToken, authorization, baseURL을 가져옵니다.
초기화하기 전에 사용자 추적 동의를 받았는지 확인하세요.
val configuration = ExponeaConfiguration().apply {
authorization = "Token YOUR_API_KEY"
projectToken = "YOUR_PROJECT_TOKEN"
baseURL = "https://api.exponea.com"
}
Exponea.init(this, configuration)
3단계 – Application 서브클래스에 SDK 초기화 코드 배치
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
val configuration = ExponeaConfiguration().apply {
authorization = "Token YOUR_API_KEY"
projectToken = "YOUR_PROJECT_TOKEN"
baseURL = "https://api.exponea.com"
}
Exponea.init(this, configuration)
}
}
AndroidManifest.xml에 사용자 정의 애플리케이션 클래스를 등록합니다:
<!-- Add your application tag here -->
푸시 알림 설정
Bloomreach에서 푸시 알림 활성화
- Bloomreach Engagement는 시나리오를 통해 알림을 전송합니다.
- 알림은 일반 알림 또는 무음(백그라운드) 메시지가 될 수 있습니다.
Firebase Messaging Service 구현
import android.app.NotificationManager
import android.content.Context
import com.exponea.sdk.Exponea
import com.google.firebase.messaging.FirebaseMessagingService
import com.google.firebase.messaging.RemoteMessage
class MyFirebaseMessagingService : FirebaseMessagingService() {
private val notificationManager by lazy {
getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
}
override fun onMessageReceived(message: RemoteMessage) {
super.onMessageReceived(message)
// Let Bloomreach handle the message; return false if it’s from another provider
if (!Exponea.handleRemoteMessage(applicationContext, message.data, notificationManager)) {
// Handle non‑Bloomreach messages here
}
}
override fun onNewToken(token: String) {
super.onNewToken(token)
Exponea.handleNewToken(applicationContext, token)
}
}
AndroidManifest.xml에 서비스를 등록합니다:
<!-- Add your service declaration here -->
Bloomreach에서 FCM 구성
- Google Cloud에서 서비스 계정을 생성하고 개인 키(JSON)를 발급합니다.
- Bloomreach Engagement에서 해당 JSON 키를 사용하여 Firebase Cloud Messaging 통합을 추가합니다.

통합은 Project Settings → Channels → Push Notifications → Firebase Cloud Messaging Integration에서 선택합니다.

설정을 완료하면 앱이 Bloomreach를 통해 전송된 푸시 알림을 받게 되며 토큰 추적이 자동으로 처리됩니다.
가이드 종료.

