Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
BuzzBooster SDK로 Notification을 수신
리워드 지급 조건을 충족하면 유저에게 이를 알리기 위해 notification을 전송합니다. 앱에서 Notification을 수신하기 위해선 아래를 단계를 수행하세요.
Notification Icon 설정
drawable
디렉토리에 com_booster_notification_small_icon.xml
추가하여 자체 small icon을 설정할 수 있습니다. BuzzBooster Android SDK는 notification small icon을 설정하지 않을 경우 manifest에 등록된 application icon을 사용합니다.
✍️ 참고
Android 13 부터 notification 수신 시 유저 권한을 요청합니다. 자세한 문서는 다음을 참조하세요.
https://developer.android.com/about/versions/13/behavior-changes-13
Firebase Cloud Messaging (FCM)
BuzzBooster는 FCM을 이용해 Push Notification을 전송합니다. 아래 단계를 따라 Firebase를 연동하고, 테스트하세요.
Step 1. Firebase 연동
1. Firebase 프로젝트 생성
Firebase console에서 “프로젝트 만들기”를 선택해 프로젝트를 생성하세요.
2. Firebase 프로젝트에 앱 등록
프로젝트 개요 페이지에서 Android icon을 선택해 앱을 등록하세요.
3. Firebase 설정 파일을 앱에 추가
a. google-services.json
파일을 다운받고, 해당 파일을 module (app-level) 루트 폴더로 옮기세요.
b. Project Gradle 파일(<project>/build.gradle
)에 아래 내용을 추가하세요.
Code Block | ||
---|---|---|
| ||
buildscript {
repositories {
// Make sure that you have the following two repositories
google()
mavenCentral()
}
dependencies {
...
// Add the dependency for the Google services Gradle plugin
classpath 'com.google.gms:google-services:4.3.14'
}
}
allprojects {
...
repositories {
// Make sure that you have the following two repositories
google()
mavenCentral()
}
}
|
c. Module Gradle 파일(보통 <project>/<app-module>/build.gradle
)에 아래 내용을 추가하세요.
Code Block | ||
---|---|---|
| ||
plugins {
id 'com.android.application'
// Add the Google services Gradle plugin
id 'com.google.gms.google-services'
...
}
|
4. Firebase Cloud Messaging SDK를 앱에 추가
Module Gradle 파일(보통 <project>/<app-module>/build.gradle
)에 아래 내용을 추가하세요.
Code Block | ||
---|---|---|
| ||
dependencies {
...
implementation 'com.google.firebase:firebase-messaging:x.y.z'
implementation 'com.google.gms:google-services:x.y.z'
}
|
✍️ 참고
최신 버전은 Firebase 문서를 참고하세요
Reference. Add Firebase to your Android project | Firebase for Android
Step 2. BuzzBooster 대시 연동
1. Firebase console의 프로젝트 설정으로 이동하세요.
...
2. 클라우드 메시징으로 이동해 서비스 계정 관리를 클릭하세요.
...
3. firebase로 시작하는 이메일을 클릭하세요.
...
4. 키 - 키 추가 - 새 키 만들기를 클릭하세요.
...
5. JSON 형식으로 만들기를 눌러, 파일을 다운로드 받아주세요.
...
✍️ 참고
🚨 한 번만 다운 받을 수 있으니, 안전히 보관해주세요.
6. BuzzBooster 대시보드 - Integration - Push에서 업로드 해주세요.
...
Step 3. BuzzBooster SDK 연동
1. Firebase Cloud Messaging token 등록
사용자 기기 식별을 위한 token을 등록하세요.
Code Block | ||
---|---|---|
| ||
...
import android.app.Application
import com.buzzvil.booster.external.BuzzBooster
import com.buzzvil.booster.external.BuzzBoosterConfig
import com.google.firebase.messaging.FirebaseMessaging
class App : Application() {
override fun onCreate() {
super.onCreate()
val buzzBoosterConfig = BuzzBoosterConfig(MY_APP_KEY)
BuzzBooster.init(applicationContext, buzzBoosterConfig)
// Add below lines to set FCM token
FirebaseMessaging.getInstance().token.addOnSuccessListener {
BuzzBooster.setFCMToken(it)
}
}
}
|
2. Notification 처리하기
a. AndroidManifest.xml
에 메세지 처리를 위한 서비스 등록
Code Block | ||
---|---|---|
| ||
...
<application
...>
<service
android:name=".MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
...
</application>
...
|
b. MyFirebaseMessagingService.kt
서비스 구현
Code Block | ||
---|---|---|
| ||
...
import com.buzzvil.booster.external.BuzzBooster
import com.google.firebase.messaging.FirebaseMessagingService
import com.google.firebase.messaging.RemoteMessage
class MyFirebaseMessagingService : FirebaseMessagingService() {
override fun onNewToken(token: String) {
BuzzBooster.setFCMToken(token)
// Enter your code
}
override fun onMessageReceived(message: RemoteMessage) {
val data = message.data
if (BuzzBooster.isBuzzBoosterNotification(data)) {
BuzzBooster.handleNotification(data)
} else {
// Enter your code
}
}
}
|
c. Notification 클릭시 이동을 위해 MainActivity
에 아래 코드를 추가하세요.
Code Block | ||
---|---|---|
| ||
...
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
if (BuzzBooster.hasUnhandledNotificationClick(this)) {
BuzzBooster.handleNotification(this)
}
}
}
|
Step 4. 어드민 내 Push 테스트 및 설정 방법
어드민 내 Push 테스트
버즈부스터 어드민에서 연동이 잘 되었는지 확인하세요.
버즈부스터 어드민 Reward Manager > Integration > PUSH 에서 확인하실 수 있습니다.
OS별로 푸시 서비스 종류를 APNS/FCM 중 선택할 수 있습니다.
Push test의 경우, 유저아이디, 푸시 문구, 푸시 이동 페이지 선택하여 테스트 할 수 있습니다.
...
어드민 내 Push 설정 방법
버즈부스터 캠페인 세팅 시, push 알림 세팅을 할 수 있는 캠페인은 다음과 같습니다.
단일 미션 스탬프 캠페인
멀티 미션 스탬프 캠페인
...