FCM 설정
다음 문서를 통해 FCM을 설정하세요. 기존에 이미 FCM을 사용하는 경우 다음 단계로 이동하세요.
https://rnfirebase.io/messaging/usage
BuzzBooster Dashboard 연동
1. Firebase console의 프로젝트 설정으로 이동하세요.
2. 클라우드 메시징으로 이동해 서비스 계정 관리를 클릭하세요.
3. firebase로 시작하는 이메일을 클릭하세요.
4. 키 - 키 추가 - 새 키 만들기를 클릭하세요.
5. JSON 형식으로 만들기를 눌러, 파일을 다운로드 받아주세요.
한 번만 다운 받을 수 있으니, 안전히 보관해주세요.
6. BuzzBooster 대시보드 - Integration - Push에서 업로드 해주세요.
React Native
BuzzBooster의 Push Notification을 처리하려면 다음과 같이 작업하세요.
1. 권한 요청
Push Notification을 수신하기 위해선 Android 13 이상과 iOS에서 유저의 권한이 필요합니다.
react-native-permissions 등의 라이브러리를 활용하여 각 플랫폼에 맞는 권한을 요청하세요.
2. Token 전송
import messaging from '@react-native-firebase/messaging';
import { BuzzBooster } from 'react-native-buzz-booster';
const token = await messaging().getToken();
BuzzBooster.setPushToken(token)
TypeScript
복사
3. Push Notification 처리
import messaging from '@react-native-firebase/messaging';
import { BuzzBooster } from 'react-native-buzz-booster';
/**
* 앱이 실행 중인 상태에서 Notification 처리
*/
messaging().onMessage(async remoteMessage => {
const data = remoteMessage.data
if (BuzzBooster.isBuzzBoosterNotification(data)) {
BuzzBooster.handleForegroundNotification(data)
}
});
/**
* 앱이 종료된 상태에서 Notification 클릭으로 시작될 때 발생.
*/
messaging().getInitialNotification().then(async remoteMessage => {
if (remoteMessage == null)
return
const data = remoteMessage.data
if (BuzzBooster.isBuzzBoosterNotification(data)) {
BuzzBooster.handleInitialNotification(data)
}
})
/**
* 앱이 Background인 상태에서 Notification 클릭으로 시작될 때 발생
*/
messaging().onNotificationOpenedApp(async remoteMessage => {
console.log("onNotificationOpenedApp")
const data = remoteMessage.data
if (BuzzBooster.isBuzzBoosterNotification(data)) {
BuzzBooster.onNotificationOpenedApp(data)
}
})
TypeScript
복사
iOS - AppDelegate.m
Push Notification이 Foreground에서 수신됐을 때 정상적으로 Notification을 나타내기 위해서 AppDelegate.m에 다음을 추가하세요.
#import <RNBuzzBooster/RNBuzzBooster.h>
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler {
completionHandler(NAuthorizationOptionBanner | UNAuthorizationOptionSound);
}
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
didReceiveNotificationResponse:(UNNotificationResponse *)response
withCompletionHandler:(void (^)(void))completionHandler {
[RNBuzzBooster userNotificationCenter:center
didReceiveNotificationResponse:response
withCompletionHandler:completionHandler];
}
Swift
복사
React Native의 경우 FCM(Firebase Cloud Messaging)을 통한 연동을 지원합니다.
Push Notification 연동을 희망하는 경우 담당자를 통해 문의하세요.