반응형
토큰의 생성
앱을 처음 실행할 때 FCM은 클라이언트 앱 인스턴스에 대한 등록 토큰 생성
// React native에서의 토큰 생성
import messaging from '@react-native-firebase/messaging';
const token = await messaging().getToken();
React Native의 경우 android, iOS 설정을 각각 해줘야 한다.
iOS 권한
iOS에서는 사용자가 앱에게 알림 권한을 부여하지 않으면 알림 전송을 할 수 없다.
알림 권한 종류
- granted
- not determined(default)
- declined
사용자가 권한 요청을 거절한다면 다시 요청할 수 없으며, 사용자가 직접 iOS 설정에서 변경해야 한다.
// React native에서의 권한 요청하기 <iOS>
import messaging from '@react-native-firebase/messaging';
async function requestUserPermission() {
const authStatus = await messaging().requestPermission();
const enabled =
authStatus === messaging.AuthorizationStatus.AUTHORIZED ||
authStatus === messaging.AuthorizationStatus.PROVISIONAL;
if (enabled) {
console.log('Authorization status:', authStatus);
}
}
iOS 설정의 FCM 알림 변경 로직
알림 권한 읽어오기 [FCM: 3편]iOS 알림권한
import messaging from '@react-native-firebase/messaging';
async function checkApplicationPermission() {
const authorizationStatus = await messaging().requestPermission();
if (authorizationStatus === messaging.AuthorizationStatus.AUTHORIZED) {
// 권한 활성화
} else {
// 권한 비활성화
}
}
android, iOS 설정의 FCM 알림 변경 로직
알림 권한 읽어오기
import { requestNotifications } from 'react-native-permissions';
requestNotifications().then(({ status }) => {
// status : granted / blocked
console.log(Platform.OS, status);
});
status
- granted : 권한 부여
- blocked : 권한 거부, 더 이상 요청 불가능
- denied: 권한 요청되지 않았음 / 거부되었지만 요청 가능
- limited: 권한 부여되었지만, 제한 있음
- unavailable: 권한 사용할 수 없음
반응형
'프로그래밍 언어 > React' 카테고리의 다른 글
[RN] React Native의 정의와 장단점 (0) | 2023.01.30 |
---|---|
FCM Token 만료 및 갱신 (3) (0) | 2023.01.26 |
FCMToken이란? (1) (0) | 2022.11.18 |
Javascript VS Typescript (0) | 2022.11.07 |
React : Context API (0) | 2022.06.22 |