iOS Push Notification Structure

앱이 꺼진 상태여도 알림을 앱에 전달해주는 기능. 서버에서 앱으로 메시지를 전달하기 위해서는 유저 디바이스의 유니크한 아이디가 팔요하다. 사용자 디바이스 OS는 알람이 도착하면 앱에 알림을 전달한다.

알림 종류

Untitled

VoIP = 5KB, 다른 알림은 4KB용량임.

연결 설정

  1. 토큰 기반 연결 설정

    여러 서버에서 동일한 토큰 사용가능, 하나의 토큰을 사용하여 회사의 모든 앱에 대한 알림을 배포할 수 있음.

    Apple developer page에서 .p8 키파일을 받을 수 있음. 키 ID가 있는데 JSON 토큰에 이 key ID가 포함되어야함.

  2. 인증서 기반 연결 설정

    서버와 APN간의 보안 연결 설정, 개발자 계정을 통해 얻은 인증서 사용. 페이로드와 장치 토큰만 포함하고 인증 토큰이 포함되지 않기 때문에 크기를 줄일 수 있음.

APN에 앱 등록하기

APN은 해당 장치에 알림을 보내기 전에 사용자 장치의 주소를 알아야함. 기기와 앱 모두에 고유한 기기 토큰 형식을 취함. 시작시 앱은 APN과 통신하고 장치 토큰을 받은 다음 제공자 서버로 전달함. 서버는 보내는 모든 알림에 해당 토큰을 포함함.

스크린샷 2023-02-09 오후 5.07.18.png

-주의

로컬 저장소에 장치 토큰을 캐시하지 마십시오. APNs는 사용자가 백업에서 장치를 복원할 때, 사용자가 새 장치에 앱을 설치할 때, 사용자가 운영 체제를 다시 설치할 때 새 토큰을 발급합니다. 매번 토큰을 제공하도록 시스템에 요청하면 최신 토큰을 받을 수 있습니다.