๋ชจ๋ฐ์ผ ์ฑ์์ ์๋ฆผ(Notification)์ ํ์ ๊ธฐ๋ฅ์ด๋ค.
์ ์ ์ ์ดํ์ ์ค์ด๊ณ , ์ฑ์ผ๋ก ๋ค์ ๋์์ค๊ฒ ๋ง๋๋ ํต์ฌ UX ์์์ด๊ธฐ๋ ํ๋ค.
React Native์์ ์๋ฆผ์ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋๋ค:
ํน์ ์๊ฐ์ ๊ธฐ๊ธฐ ๋ด์์ ์๋์ผ๋ก ์๋ฆผ์ ๋ฐ์์ํด
react-native-push-notification
npm install react-native-push-notification
import PushNotification from 'react-native-push-notification';
PushNotification.localNotification({
title: "์๋ฆผ ์ ๋ชฉ",
message: "์ด๊ฑด ๋ก์ปฌ ์๋ฆผ์
๋๋ค!",
});
โ
๊ฐ๋จํ ๊ธฐ๋ฅ์๋ ์ ํฉ
โ ์ฑ์ด ์์ ํ ์ข
๋ฃ๋๋ฉด ์ ํ์
์๋ฒ์์ FCM, APNs๋ฅผ ํตํด ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ณ , ๊ธฐ๊ธฐ์์ ์์
npm install @react-native-firebase/app
npm install @react-native-firebase/messaging
import messaging from '@react-native-firebase/messaging';
useEffect(() => {
messaging().onMessage(async remoteMessage => {
Alert.alert('ํธ์ ์๋ฆผ', remoteMessage.notification?.title);
});
}, []);
โ
์ฑ ๊บผ์ง ์ํ์์๋ ์์ ๊ฐ๋ฅ
โ
๋ฐฑ์๋ ์ฐ๋ ๊ฐ๋ฅ
โ ์๋ฒ ์ค์ , ์ธ์ฆ, ํ๋ซํผ๋ณ ๋์ ํ์
ํญ๋ชฉ | ๋ก์ปฌ ์๋ฆผ | ํธ์ ์๋ฆผ |
---|---|---|
๋ฐ์ ์ฃผ์ฒด | ์ฑ ๋ด๋ถ (ํด๋ผ์ด์ธํธ) | ์๋ฒ |
์ฑ ์ํ ํ์ | ์ฑ ์คํ ์ค ํ์ | ์ฑ ์ข ๋ฃ ์ํ๋ ๊ฐ๋ฅ |
์ฌ์ฉ ์์ | ์ฝ ๋ณต์ฉ ๋ฆฌ๋ง์ธ๋, ์์ฝ ์๋ฆผ | ๋ง์ผํ , ์ปค๋ฎค๋ํฐ, ๋ฉ์์ง |
์ค์ ๋์ด๋ | ์ฌ์ | ์ด๋ ค์ (Firebase ๋ฑ ์ฐ๋) |
requestPermissions
)์ฒ์์ ๋ก์ปฌ ์๋ฆผ๋ง ์จ๋ ์ถฉ๋ถํ๋ค๊ณ ์๊ฐํ๋๋ฐ,
์ ์ ๋ฆฌํ
์
์ ๋์ด๋ ค๋ฉด ํธ์ ์๋ฆผ์ ๊ฑฐ์ ํ์๋ผ๋ ๊ฑธ ๋๊ผ๋ค.
Firebase ์ฐ๋์ ์ด๋ ต์ง๋ง ํ ๋ฒ ๊ตฌ์ถํด๋๋ฉด
๋ง์ผํ
, ์ค์๊ฐ ๋ฉ์์ง, ์ปค๋ฎค๋ํฐ ์ฑ์์ ๊ต์ฅํ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ด ๋๋ค.
๐ โ์๋ฆผ์ UX์ ์์์ด์, ์ฑ๊ณผ ์ ์ ๋ฅผ ์๋ ๋ค๋ฆฌ๋ค.โ