Push Notification
서버에서 설치된 앱에 메시지를 전달하고, 앱에서 전달된 메시지를 보여주는 것
종류
- Data Message
- 데이터만 전달 해주는 푸시
- Notification은 별도로 띄우지 않음
- 앱의 설치 여부 또는 데이터의 갱신이 필요할 때 사용
- Notification Message
- 실제로 유저에게 메시지와 함께 알려주는 것
- 단순 광고성 메시지, 채팅 메시지 수신 등
- Data Message
FCM
- 최초 생성
- 앱이 설치된 뒤에 FCM에서 기기 식별이 가능한 Token 발급
- 앱에서 필요할 때 조회할 수 있음
- 발급된 Token을 별도의 DB에 저장
- 메시지 전달
- 별도로 저장된 DB의 값을 읽어와 FCM으로 전송 요청
- FCM 내부 서버에서는 식별 가능한 기기로 FCM을 전송
- 전송한 뒤 응답으로 Token에 잘 전달 했는지 확인 가능
- 푸시 성공률은 99%,
- 방해 금지 모드나 sleep 모드 시에는 푸시를 받지 못하기도 함
- 발급받은 token의 재발급 조건
- 앱을 제거하고 재설치 하는 경우
- 앱의 데이터를 지우는 경우
- 새기기에서 앱이 복원된 경우
- onTokenRefresh이벤트로 바뀐 Token값을 알 수 있음
FCM 적용
FCM에 APNs설정하는 방법
apple developer에서 발급 받은 인증서, 인증 키 등을 FCM Console에서 설정만 해주면 APNs 이용가능
Local Notification
- 클라이언트에서 Notification을 띄우기 위해 사용
- 특정 시간 뒤에 유저에게 알림을 주거나, 앱이 foreground 상태에서 fcm을 받는 경우 사용됨
- react-native-push-notification 사용
APNS
- Apple Push Notification Services
- FCM과 Token발급, 업데이트, 발송 등의 기능은 비슷
- Token 발급 과정 중 발급받는 APNs Token이 없을수도 있음(푸시허용x)
- FCM을 통해 APNs로 접근이 가능
- 사실상 FCM을 통해 ios에도 푸시를 보낼 수 있는 구조
Firebase Analytics
- 유저의 행동을 추적하고 보고서 형태로 받아오기 위한 것
- 연령대, 기기, 위치 등 유저군을 특정하여 분석 가능
- 기능이 잘 동작하는지 등에 대해서 검증가능
- 표준 이벤트
- 가장많이 사용되는 이벤트들을 먼저 지정
- 표준이벤트 발송시에 분석을 자동으로 해주는 이점이 있음
- rnfirebase