영업: 1-800-867-1380

알림 허브 개요

업데이트 날짜: 2014년 1월

Windows Azure 알림 허브는 클라우드 또는 온-프레미스의 백엔드에서 모바일 플랫폼으로 모바일 푸시 알림을 보낼 수 있는 사용하기 쉬운 인프라를 제공합니다.

알림 허브를 사용하면 서로 다른 PNS(Platform Notification Systems)에 대한 세부 정보를 추출하여 플랫폼 간에 개인 설정된 푸시 알림을 간편하게 보낼 수 있습니다. 단일 API 호출을 사용하면 모든 장치에서 개별 사용자 또는 수백만 명의 사용자가 포함된 전체 대상 그룹 세그먼트를 대상으로 지정할 수 있습니다.

엔터프라이즈 및 소비자 시나리오에서 알림 허브를 사용할 수 있습니다. 예를 들면 다음과 같습니다.

  • 대기 시간이 거의 없이 수백만 명에게 뉴스 속보 알림을 보냅니다. 알림 허브는 모든 Windows 및 Windows Phone 장치에 미리 설치되어 있는 Bing 응용 프로그램의 성능을 강화합니다.

  • 사용자 세그먼트에 위치 기반의 쿠폰을 보냅니다.

  • 사용자 또는 그룹에 스포츠/재무/게임 앱에 대한 이벤트 알림을 보냅니다.

  • 사용자에게 새 메시지/전자 메일 및 잠재 고객 같은 엔터프라이즈 이벤트에 대해 알려 줍니다.

  • 다단계 인증에 필요한 일회용 암호를 보냅니다.

스마트폰과 태블릿에서는 이벤트가 발생할 때 사용자에게 이를 "알릴" 수 있습니다. Windows 스토어 및 Windows Phone 응용 프로그램에서 알림은 시작 화면에 토스트(화면 상단에 표시되는 모덜리스 창)로 표시되거나 타일 업데이트에 함께 표시됩니다. 마찬가지로 Android 및 Apple iOS 장치에서 알림은 화면 상단에서 쉽게 액세스할 수 있도록 알림 패널에 그룹화되어 표시됩니다.

푸시 알림을 통해 앱 백엔드는 장치 앱이 활성 상태가 아닌 경우에도 모바일 장치에 새로운 정보를 표시할 수 있습니다.

푸시 알림은 PNS(Platform Notification Systems)라고 하는 플랫폼별 인프라를 통해 배달됩니다. PNS는 베어본 기능(브로드캐스트나 개인 설정을 위한 지원이 없음)을 제공하며 플랫폼별 PNS에는 일반적인 인터페이스가 없습니다. 예를 들어 Windows 스토어 앱에 알림을 보내려면 개발자가 WNS(Windows 알림 서비스)를 이용해야 합니다. iOS 장치로 알림을 보내려면 같은 개발자가 APNS(Apple 푸시 알림 서비스)를 이용하여 두 번째로 메시지를 보내야 합니다. 프로세스는 Windows Phone 8 및 Android 앱에서와 유사합니다.

높은 수준의 개념에서, 모든 플랫폼 알림 시스템은 다음과 같은 동일한 방식으로 작동합니다.

  1. 클라이언트 앱은 PNS에 접속하여 해당 핸들을 검색합니다. 핸들 유형은 시스템에 따라 다릅니다. WNS의 경우 핸들은 URI 또는 "알림 채널"이며 APNS의 경우 핸들은 토큰입니다.

  2. 클라이언트 앱은 이 핸들을 나중에 사용하기 위해 앱 백엔드에 저장합니다. WNS의 백엔드는 대개 클라우드 서비스이며 Apple의 경우에는 이 시스템을 공급자라고 합니다.

  3. 푸시 알림을 보내기 위해 앱 백엔드는 특정 클라이언트 앱 인스턴스가 대상이 되는 핸들을 사용하여 PNS에 접속합니다.

  4. PNS는 핸들에 의해 지정된 장치로 알림을 전달합니다.

이러한 흐름을 구현하는 데 필요한 인프라가 매우 복잡하며 대부분은 앱의 기본 비즈니스 논리와 무관합니다. 주문형 푸시 인프라를 구축하기 위해서는 다음과 같은 몇 가지 과제를 해결해야 합니다.

  • 플랫폼 종속성. 다른 플랫폼의 장치로 알림을 보내려면 백엔드에 여러 인터페이스를 코드화해야 합니다. 다른 플랫폼에서는 낮은 수준의 세부 정보가 다를 뿐만 아니라 알림 표시(타일, 토스트 또는 배지)도 플랫폼마다 다릅니다. 이러한 플랫폼 간의 차이로 인해 백엔드 코드가 복잡해지며 관리하기 어렵습니다.

  • 조정. 이 인프라를 조정하는 데 있어서는 다음과 같은 두 가지 측면이 있습니다.

    • PNS 지침에 따라, 장치 토큰은 앱이 시작될 때마다 새로 고쳐져야 합니다. 그래서 장치 토큰을 최신 상태로 유지하는 데에만 엄청난 트래픽(및 후속 데이터베이스 액세스)이 발생합니다. 장치 수가 수백만 대로 늘어날 경우 이러한 인프라를 구축하고 유지 관리하는 비용이 만만치 않게 됩니다.

    • 대부분의 PNS는 여러 장치에 대한 브로드캐스팅 기능을 지원하지 않습니다. 따라서 수백만 대의 장치에 브로드캐스트할 경우 수백만 번의 PNS 호출이 발생됩니다. 앱 개발자는 평소대로 총 대기 시간을 낮게 유지하고자 하므로 이러한 요청 수를 조정할 수 있어야 합니다. 예를 들어, 메시지를 받는 마지막 장치는 해당 알림이 전송된 30분 후에는 알림을 받지 않습니다. 이 경우 대부분은 푸시 알림을 받는 목적이 무산되기 때문입니다.

  • 라우팅. PNS는 장치에 메시지를 보내는 방식을 제공합니다. 하지만 대부분의 앱에서 알림은 사용자 및/또는 관심 그룹(예: 특정 고객 계정에 할당된 모든 직원)을 대상으로 전송됩니다. 따라서 앱 백엔드는 관심 그룹을 장치 토큰과 연결하여 알림이 올바른 장치로 라우팅되도록 하는 레지스트리를 관리해야 합니다. 이 오버헤드로 인해 총 출시 기간과 앱 유지 관리 비용이 늘어납니다.

  • 모니터링 및 원격 분석. 수백만 개의 알림 결과를 추적하고 집계하는 것은 간단하지 않으며 이는 일반적으로 푸시 알림을 사용하는 솔루션의 중요한 구성 요소입니다.

알림 허브는 다음과 같이 주요한 복잡성 하나를 없앱니다. 푸시 알림 문제를 관리해야 할 필요가 없습니다. 대신 알림 허브를 사용할 수 있습니다. 알림 허브는 여러 플랫폼, 확장된 푸시 알림 인프라를 사용하며 앱 백엔드에서 실행되는 푸시별 코드 수를 상당히 줄입니다. 알림 허브는 푸시 인프라의 모든 기능을 구현합니다. 다음 그림과 같이 장치는 PNS 핸들을 등록하는 역할만 하며 백엔드는 플랫폼 독립형 메시지를 사용자나 관심 그룹에 보내는 역할만 합니다.

알림 허브는 푸시 인프라를 제공하며, 이점은 다음과 같습니다.

  • 여러 플랫폼:

    • 모든 주요 모바일 플랫폼(Windows/Windows Phone, iOS, Android)을 지원합니다.

    • 플랫폼별 프로토콜이 없으며, 앱은 알림 허브와만 통신합니다.

    • 장치 핸들 관리. 알림 허브는 핸들 레지스트리와 PNS 피드백을 유지 관리합니다.

  • 모든 백엔드에서 작동. 클라우드 또는 온-프레미스, .NET, PHP, Java, Node 등.

  • 조정. 알림 허브는 다시 구축하거나 분할할 필요 없이 수백만 대의 장치를 조정할 수 있습니다. 모든 영역에서 사용할 수 있습니다.

  • 다양한 배달 패턴 집합.. 장치를 논리적 사용자 또는 관심 그룹을 나타내는 태그와 연결합니다.

    • 브로드캐스트: 단일 API 호출을 통해 거의 동시에 수백만 대의 장치에 브로드캐스트할 수 있습니다.

    • 유니캐스트/멀티캐스트: 해당하는 모든 장치 또는 더 광범위한 그룹을 포함하여 개별 사용자를 나타내는 태그에 푸시합니다(예: 태블릿/전화기 같은 개별 양식 요소).

    • 조각화: 태그 식으로 정의된 복잡한 세그먼트에 푸시합니다(예: New York 뒤에 Yankees가 표시되는 장치).

  • 개인 설정. 각 장치에는 백엔드 코드에 영향을 미치지 않으면서 장치별 지역화 및 개인 설정을 실행하기 위한 하나 이상의 템플릿이 있을 수 있습니다.

  • 보안. SAS(Shared Access Secret) 또는 페더레이션 인증.

  • 다양한 원격 분석. 포털에서 및 프로그래밍 방식으로 사용할 수 있습니다.

  • 푸시 알림은 소비자 앱에 대한 사용자 참여도와 엔터프라이즈 앱의 활용도를 향상시켜서 현대 앱에서 필수 요소로 부각되고 있습니다.

  • 알림 허브의 여러 플랫폼에 편리하게 사용할 수 있는 확장된 푸시 인프라를 사용하여 앱 백엔드 코드에 대한 코딩 작업과 유지 관리 작업을 획기적으로 줄일 수 있습니다.

  • 모든 백엔드(클라우드 또는 온-프레미스)에서 알림 허브를 사용하여 모든 주요 모바일 플랫폼(Windows/Windows Phone, iOS, Android)에 푸시 알림을 보낼 수 있습니다.

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.
표시:
© 2014 Microsoft