BOID

[iOS] 사용자에게 메시지를 전달하는 방법에 대해 - HoonIOS 본문

IOS 시작기

[iOS] 사용자에게 메시지를 전달하는 방법에 대해 - HoonIOS

HoonIOS 2021. 4. 8. 15:28

안녕하세요 HoonIOS입니다. :)

앱을 개발하다 보면은 사용자한테 메시지를 전달하고 싶은 내용이 있습니다. 때론 사용자에게 명시적인 메시지를 전달해야 될 때가 있습니다.

 

 

예를 들어 .... 서버 점검을 한다고 알린다거나 오랫동안 접속을 안 했을 시 초대 알림을 보낸다는 등이 있습니다.

 

이렇게 사용자한테 메시지를 전달하는 방법은 총 3가지가 있습니다.

  1. 메시지(알림창) - alert
  2. 로컬 알림 - UserNotification
  3. 서버 알림(푸시 알림) - APNs

메시지 창이란?

alert

- 메시 자창은 사각형 박스 안에서 버튼을 눌러 의사를 표현하도록 하는 창이 알림 창입니다.

- 메시지 창은 한 가지 단점이 있는데 바로 앱이 실행 중일 때만 동작을 한다는 점입니다. 즉 사용자에게 바로바로 메시지를 전달해야 할 때에도 앱이 실행 중이지 않는다면 알림 창을 보여줄 수 없습니다.

 

로컬 알림, 서버 알림이란?

- 푸시 메시지의 기능입니다.

- 메시지 창과 다르게 앱을 실행시키지도 않은 상태에서도 화면에 메시지를 전달할 수 있어 메시지의 단점을 보안한 방법입니다.

- 이렇게 알림을 주는 기능들을 로컬 노티피케이션, 푸시 노티피케이션이라고 부릅니다.

- 모바일 디바이스 냉에서 로컬 푸시와 서버 푸시를 구현하는 메커니즘은 거의 동일합니다.

※ 그럼 로컬 알림과 서버 알림의 차이점은 무엇일까요?

  • 로컬 푸시는 처음에 앱을 제작을 할 때 앱 코드 내부에 미리 심어놓은 메시지가 전달되는 경우가 대부분입니다. 따라서 만약 상황에 따라 반영을 할 수 없다는 게 큰 한계가 있습니다.
    ( 예를 들어서 깜짝 세일 이벤트를 하고 있어서 알림을 해주고 싶은데 이런 경우는 로컬 푸시 알람을 사용 못하겠죠? ㅠㅠ)
  • 서버 푸시는 앱 서비스 운영자가 필요한 시점에 인스턴스 메시지를 만들어 날릴 수 있으므로 유용하게 사용할 수 있습니다. 단, 애플 개발자 계정을 가지고 있는 사람만 인증서를 통해 APNs 인증서를 발급할수 있습니다.
    ( 예를 들어서 위에 설명했던 깜짝 세일 이벤트를 한다고 해도 알림 기능을 사용할수 있습니다. )
  • 메시지의 출처가 전혀 다릅니다.
    - 로컬 푸시는 앱 내부에서 특정 프로세스에 의해 등록된 메시지를 iOS가 전달하는 방식입니다.

    - 서버 푸시는 별도의 서버를 통해 APNs라는 애플 고유의 메시징 시스템에게 보낸 메시지가 네트워크를 통해 전달하는 방식입니다.
  • 로컬 푸시는 코드에 구현만 하면 되지만 서버 푸시는 구현하려면 개인의 디바이스 토큰 정보를 저장할 데이터베이스 서버와 인증서와 키도 발급을 해야 합니다.

 * APNS란 iOS에 표시되는 푸시 알림 기능으로 애플 개발자 페이지에서 인증서와 키를 설정해야지만 사용을 할 수 있습니다.

 

 

사용자에게 메시지를 보내는 방법인 메시지, 로컬 알림, 서버 알림에 대해 알아봤습니다.

 

 

이제 다음부터는 메시지 알림 창부 터해서 하나씩 구현을 해보고 자세하게 설명을 하는 글을 포스팅하겠습니다. :) 앱에는 무조건 알림이 있어야 하므로 중요한 내용입니다 ㅎ

반응형
Comments