Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel6
outlinefalse
styledefault
typelist
printabletrue

...

b. Project Gradle 파일(<project>/build.gradle)에 아래 내용을 추가하세요.

Code Block
languagegroovy
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
languagegroovy
plugins {
    id 'com.android.application'
    // Add the Google services Gradle plugin
    id 'com.google.gms.google-services'
    ...
}

...

Module Gradle 파일(보통 <project>/<app-module>/build.gradle)에 아래 내용을 추가하세요.

Code Block
languagegroovy
dependencies {
    ...
    implementation 'com.google.firebase:firebase-messaging:x.y.z'
    implementation 'com.google.gms:google-services:x.y.z'
}

...

사용자 기기 식별을 위한 token을 등록하세요.

Code Block
languagekotlin
...
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)
        }
    }
}

...

a. AndroidManifest.xml에 메세지 처리를 위한 서비스 등록

Code Block
languagexml
...
    <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
languagekotlin
...
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
languagekotlin
...
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 알림 세팅을 할 수 있는 캠페인은 다음과 같습니다.

  • 단일 미션 스탬프 캠페인

  • 멀티 미션 스탬프 캠페인

...