Ch 05. 재난문자 푸시 알림 구현하기

1 분 소요

유료 멤버십 가입 필수!!

기능 상세:
  • 앱 내 코드가 아닌 원격으로 내용을 전송
  • 앱에서는 발송된 원격 알림을 받아 표현
활용 기술:
  • Remote Notification
    • 불시에 발생한 업데이트(사용자 선별알림, 특정행동 알림, 불특정 메시지)
    • 전송 방식
      • Provider(Server) -> APNs -> OS -> ClientApp
  • APNS(Apple Push Notification Service)
    • 알림관리
      • 저장 외 전달 기능을 수행하는 QOS 구성 요소 포함
      • 알림을 전달 받을 대상 장치가 오프라인인 경우,
        APNs는 제한된 시간동안 알림을 저장, 장치가 온라인 상태로 전환시 전달
      • 기기 및 앱 별로 가장 최근의 알림만 저장
      • 각 앱 서비스의 서버에서 보내는 각종 알림들을 최신 상태로 하나씩 저장,
        장치가 너무 오랫동안 오프라인 상태를 유지하면 저장된 모든 알림을 삭제
      • 단순히 알림을 보내고 끝내는 것이 아니라
        각 기기의 상태를 확인하여 상태의 따라서 알림을 저장 후에 보내주고 최신의 알림 상태를 관리하는 등의 관리 센터 역할
    • 보안관리
      • 보안 문제를 해결하기 위해 자체 보안 아키텍처를 통해 원격 알림 안전하게 제어
      • Connection trust(연결 신뢰)
        • Provider-to-APNs connection trust
          • 애플과 계약을 맺은 회사가 소유한 승인된 공급자만 APNs와 연결 및 푸시 알림 전달을 허가, 연결 신뢰 구성
          • 푸시알림서버 구현을 하는 백엔드 개발자의 역할
          • 공급자 서버는 APNs 간의 Connection trust가 있는지 확인하는 단계 수행
            • token-based
              • valid authentication key certificate
            • certificate-based
              • SSL certificate
        • APNs-to-device connection trust
          • 승인된 장치(apple)만 APNs에 연결해서 알림을 받음
          • APNs는 각 장치와 connection trust를 자동으로 적용해서 안정성 보장
      • Device token trust
        • 각 원격 알림에서 end-to-end 작동
        • 알림이 Provider와 Device 두 가지 지점 사이에서만 라우팅
        • Device Token
          • 애플이 특정 장치에 특정 앱에 할당한 고유 식별자를 포함하는 NSData Instance
          • 누군가가 탈취하더라도 내용을 알 수 없음, 오직 APNs만 장치 토큰의 내용을 해독가능
        • APNs는 여러가지 상황에서 Device token을 새로 발급할 수 있음(앱 재설치, 백업, 운영체제 재설치)
        • 디바이스와 앱의 상태가 변경 되었을 때 새로 발급을 해서 항상 고유한 상태를 바라보게 함
  • Firebase Cloud Messaging(FCM)
    • 클라우드 메시징 역할
      • APNs의 보안 요건을 갖춘 서버를 직접 구축하기 힘들 때,
      • ios 클라이언트 개발자로서 서비스와 ios앱 자체에만 집중하고 싶을 때,
      • 손 쉽게 원격 알림을 보낼 수 있게 도와주는 도구(Provider 역할)
    • 주요 역할
      • 원격 알림 메시지 전송
        • 사용자에게 표시되는 알림 메시지를 실시간 또는 예약 전송
      • 다양한 메시지 타겟팅
        • 단일 기기, 기기 그룹, 주제를 구독한 기기
      • 발송 메시지 저장, 관리
        • 알림 내용, 상태, 플랫폼, 최종 전송 시간, 열람율 관리
추가할 기술:

OneSignal을 이용한 무료로 Push Notification 설정