Bloomreach와 함께 Android 푸시 알림 구현을 쉽게

발행: (2025년 12월 30일 오후 12:01 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

Aziz

푸시 알림

Introduction

푸시 알림은 앱이 사용자와 효과적으로 소통하도록 도와줍니다. 이 가이드는 Bloomreach(이전 Exponea)를 사용하여 Android에서 푸시 알림을 구현하는 방법을, 빈 프로젝트부터 작동하는 기능까지 설명합니다.

Prerequisites

  • Android 앱이 Kotlin으로 작성됨
  • Firebase Cloud Messaging(FCM)이 구성됨
  • 푸시가 활성화된 Bloomreach 계정
  • Android 앱 라이프사이클에 대한 기본 이해

고수준 아키텍처

  1. 앱이 FCM에 등록하고 디바이스 토큰을 획득합니다.
  2. 토큰이 Bloomreach SDK로 전송됩니다.
  3. Bloomreach가 FCM을 통해 푸시 캠페인을 보냅니다.
  4. FCM이 메시지를 디바이스에 전달합니다.
  5. 앱이 알림을 표시합니다.

Firebase 설정

  1. Firebase를 프로젝트에 추가하려면 Firebase 콘솔을 사용하세요.
  2. 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 구성

  1. Google Cloud에서 서비스 계정을 생성하고 개인 키(JSON)를 발급합니다.
  2. Bloomreach Engagement에서 해당 JSON 키를 사용하여 Firebase Cloud Messaging 통합을 추가합니다.

Dashboard

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

Integration

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

가이드 종료.

Back to Blog

관련 글

더 보기 »

Android 권한 완벽 가이드

markdown !dss99911https://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuplo...