본문 바로가기
iOS/iOS

firebase로 APNs - FCM

by 패쓰킴 2021. 10. 22.
728x90

APNs?

Apple Push Notification Service

원격 알림 사용 시 반드시 거쳐야 하는 서비스

사용자가 처음 앱을 실행하면 APNs간 통신이 가능한 암호화된 IP연결을 하게되고 이를 통해 알림을 수신하게 된다.

순서 : Provider(server) -> APNs -> Device -> notification

  1. 기기에서 APNs에 연결
  2. APNs에서 기기 인증 후 토큰 발급
  3. 발급 받은 토큰을 기기에서 서버로 전달
  4. 서버에서 APNs에 토큰과 알림 데이터 보냄
  5. 토큰 확인 후 기기로 알림 전송

파이어베이스 이용 방법

프로젝트 생성

  1. 우측 상단의 '콘솔로 이동' 클릭
  2. '+ 프로젝트 추가'
  3. 프로젝트 이름 입력 후 계속
  4. '이 프로젝트에서 Google 애널리틱스 사용 설정' 활성화 후 계속
  5. Default Account for Firebase 구성 선택 후 프로젝트 만들기 클릭

파이어베이스 기본 바탕 만들기

  1. 파이어베이스 프로젝트 메인화면에서 iOS 선택
  2. iOS 번들 ID = xcode프로젝트 번들 ID 입력 후 앱 등록 클릭
  3. 구성 파일 다운로드에 뜨는 plist 파일을 다운로드하여 xcode 프로젝트에 추가

코코아팟 설정

  1. 프로젝트 경로 접근
  2. pod init
  3. pod file에 필요한 팟 프레임워크 추가
  4. pod install

파이어베이스 초기화

  1. xcode workspace 파일 열기
  2. AppDelegate파일에 import Firebase
  3. didFinishLaunch 함수에 FirebaseApp.congigure() 입력

APNS 구성

APNs 추가

  1. Target - Signing&Capabilities
  2. +capability
  3. Push Notification 추가
  • Signing certificate 오류가 있다면 처리한다

APNs 등록

  1. appelDevelper 사이트 로그인
  2. Certificates,Identifiers&Profiles - Keys - +클릭
  3. Key Name 입력
  4. Apple Push Notification service(APNs) 체크
  5. Continue - register

APNs 설정

  1. 등록한 key 선택
  2. key ID 복사
  3. Download 버튼 클릭
    ! 다운로드는 한번 밖에 할 수 없으니 저장 위치 잘 알아 둘 것
  4. 파이어베이스 프로젝트로 이동
  5. 프로젝트 개요의 톱니바퀴 - 프로젝트 설정
  6. 클라우드 메시징 - iOS 앱 구성 - APN 인증 키 파일 '업로드' 클릭
  7. 찾아보기를 눌러 다운받았던 파일 업로드
  8. 키 ID에 복사했던 key ID 입력
  9. 애플개발자 사이트 - Membership - TeamID 복사하여 팀 ID에 붙여넣기
  10. 업로드

remote notification 설정

User notification을 받을 수 있도록 앱딜리게이트 설정이 필요하다 -> AppDelegate파일에 UserNotifications를 import한다.

기기에서 특정앱에 알림을 받으려면 승인이 필요하다 -> didFinishLaunch함수에 코드를 추가한다.


FCM 설정

FCM SDK는 기본적으로 클라이언트앱 인스턴스 용 등록 토큰을 생성하여 타겟팅한 앱의 모든 특정 인스턴스로 알림을 전송할 수 있다. (FIRMessagingDelegate 메서드를 통해 등록 토큰을 제공한다.)

FCM SDK는 최초 앱을 시작할 때, 토큰이 업데이트 되거나 무효화 될 때마다 신규 또는 기존 토큰을 검색해서 가지게 된다.

따라서 FCM 등록 토큰을 기반으로 엑세스 할 수 있도록 코드를 추가한다.


알림 보내기

! 테스트 시에는 시뮬레이터로는 불가능 하니 실물 기기에서 진행할 것

테스트 메세지를 보내고 등록 토큰 확인

  1. 파이어베이스 사이트에 프로젝트로 이동
  2. 왼쪽 메뉴의 참여 - Cloud Messaging
  3. Send your first message 클릭
  4. 알림의 제목과 내용 입력
  5. 테스트 메시지 전송 클릭
  6. FCM 등록 토큰 = 기기를 실행했을 때 출력된 'FCM 등록토큰'을 복사하여 붙여넣는다
  7. +버튼 클릭
  8. 기기로 알림이 온다.

앱 모든 사용자에게 메세지 보내기

  1. 알림 작성 화면
  2. 제목과 내용 입력 - 다음
  3. 타겟에 앱 선택 - 다음
  4. 예약에서 알림 시점 설정 후 다음 - 검토 - 게시

알림 배지가 사라지도록 설정

// SceneDelegate 파일
func sceneDidBecomeActive(_ scene: UIScene) {
    if UIApplication.shared.applicationIconBadgeNumber != 0 {
        UIApplication.shared.applicationIconBadgeNumber = 0
    }
}
728x90

'iOS > iOS' 카테고리의 다른 글

네트워크 통신 주의점  (0) 2021.12.03
UIPickerView - 항목 설정  (0) 2021.10.29
네트워크 통신 - inof.plist 설정  (0) 2021.10.26
스토리보드 없이 코드로 뷰 구현하기  (0) 2021.10.26
firebase로 애플 로그인  (0) 2021.10.12

댓글