자습서: Azure Notification Hubs를 사용하여 유니버설 Windows 플랫폼 앱에 알림 보내기

이 자습서에서는 UWP(유니버설 Windows 플랫폼) 앱에 푸시 알림을 보내는 알림 허브를 만듭니다. WNS(Windows 푸시 알림 서비스)를 사용하여 푸시 알림을 받는 빈 Windows 스토어 앱을 만듭니다. 그런 다음 알림 허브를 사용하여 앱을 실행하는 모든 디바이스에 푸시 알림을 브로드캐스트합니다.

참고 항목

GitHub에서 이 자습서의 완료된 코드를 찾을 수 있습니다.

다음 단계를 수행하세요.

  • Windows 스토어에서 앱 만들기
  • 알림 허브 만들기
  • 샘플 Windows 앱 만들기
  • 테스트 알림 보내기

필수 조건

  • Azure 구독. Azure 구독이 아직 없는 경우 시작하기 전에 Azure 체험 계정을 만듭니다.
  • Microsoft Visual Studio 2017 이상. 이 자습서의 예제에서는 Visual Studio 2019를 사용합니다.
  • UWP 앱 개발 도구 설치
  • 활성 Windows 스토어 계정
  • 앱 및 기타 보낸 사람 설정에서 알림 가져오기가 사용하도록 설정되어 있는지 확인합니다.
    • 컴퓨터에서 설정 창을 시작합니다.
    • 시스템 타일을 선택합니다.
    • 왼쪽 메뉴에서 알림 및 작업을 선택합니다.
    • 앱 및 기타 보낸 사람 설정에서 알림 가져오기가 사용하도록 설정되어 있는지 확인합니다. 활성화되어 있지 않으면 활성화합니다.

이 자습서를 완료하는 것은 UWP 앱에 대한 다른 모든 Notification Hubs 자습서의 필수 구성 요소입니다.

Windows 스토어에서 앱 만들기

참고 항목

MPNS(Microsoft 푸시 알림 서비스)는 사용되지 않으며 더 이상 지원되지 않습니다.

UWP 앱으로 푸시 알림을 보내려면 앱을 Windows 스토어와 연결합니다. 그런 다음 WNS와 통합되도록 알림 허브를 구성합니다.

  1. Windows 개발자 센터 이동하여 Microsoft 계정으로 로그인한 다음 새 앱 만들기를 선택합니다.

    New app button

  2. 앱의 이름을 입력한 다음, 제품 이름 예약을 선택합니다. 이렇게 하면 앱을 새로 Windows 스토어에 등록하게 됩니다.

    Store app name

  3. 제품 관리를 확장한 다음, 제품 ID를 선택합니다. 패키지 SID, 패키지/ID/이름, 패키지/ID/게시자패키지/속성/PublisherDisplayName 값을 기록해 둡시다.

    Partner center apps

  4. 제품 관리에서 WNS/MPNS를 선택한 다음, 앱 등록 포털을 선택합니다. Microsoft 계정에 로그인합니다. 애플리케이션 등록 페이지가 새 탭에서 열립니다.

    WNS page

  5. 기본 정보에서 클라이언트 자격 증명: 인증서 또는 비밀 추가를 선택합니다.

    Notification Hub settings on Azure portal

  6. 인증서 및 비밀 페이지의 클라이언트 비밀에서 새 클라이언트 비밀을 선택합니다. 클라이언트 암호(애플리케이션 암호라고도 함)을 만든 후 페이지를 나가기 전에 기록해 둡니다.

    Warning

    클라이언트 암호(애플리케이션 암호) 값은 만든 직후에만 볼 수 있습니다. 페이지를 나가기 전에 비밀을 저장해야 합니다.

    Client secret on portal

    Warning

    애플리케이션 암호와 패키지 SID는 중요한 보안 자격 증명입니다. 이러한 값을 누구와도 공유하거나 앱과 배포하지 마세요.

알림 허브 만들기

  1. Azure Portal에 로그인합니다.

  2. 왼쪽 메뉴에서 모든 서비스를 선택합니다. A screenshot showing select All Services for an existing namespace.

  3. 필터 서비스 텍스트 상자에 Notification Hubs 를 입력합니다. 서비스 이름 옆의 별표 아이콘을 선택하여 서비스를 왼쪽 메뉴의 즐겨찾기 섹션에 추가합니다. Notification Hubs를 선택합니다.

    A screenshot showing how to filter for notification hubs.

  4. Notification Hubs 페이지의 도구 모음에서 만들기를 선택합니다.

    A screenshot showing how to create a new notification hub.

  5. 알림 허브 페이지의 기본 사항 탭에서 다음 단계를 수행합니다.

    1. 구독에서 사용하려는 Azure 구독 이름을 선택한 다음, 기존 리소스 그룹을 선택하거나 새 리소스 그룹을 만듭니다.

    2. 네임스페이스 세부 정보에 새 네임스페이스의 고유한 이름을 입력합니다.

    3. 네임스페이스에 알림 허브가 하나 이상 포함되어 있으므로 Notification Hub 세부 정보에 허브 이름을 입력합니다.

    4. 위치 드롭다운 목록 상자에서 값을 선택합니다. 이 값은 허브를 만들려는 위치를 지정합니다.

      Screenshot showing notification hub details.

    5. 가용성 영역 옵션을 검토합니다. 가용성 영역이 있는 지역을 선택한 경우 기본적으로 검사 상자가 선택됩니다. 가용성 영역 유료 기능이므로 계층에 추가 요금이 추가됩니다.

    6. 재해 복구 옵션( 없음, 쌍을 이루는 복구 지역 또는 유연한 복구 지역)을 선택합니다. 쌍을 이루는 복구 지역을 선택하면 장애 조치(failover) 지역이 표시됩니다. 유연한 복구 지역을 선택한 경우 드롭다운을 사용하여 복구 지역 목록에서 선택합니다.

      Screenshot showing availability zone details.

    7. 만들기를 실행합니다.

  6. 배포가 완료되면 리소스로 이동을 선택합니다.

허브에 대한 WNS 설정 구성

  1. 알림 설정 범주에서 Windows(WNS)를 선택합니다.

  2. 이전 섹션에서 적어둔 패키지 SID(예: “ms-app://<Your Package SID>”) 및 보안 키(애플리케이션 암호)에 대한 값을 입력합니다.

  3. 도구 모음에서 저장을 클릭합니다.

    The Package SID and Security Key boxes

이제 알림 허브가 WNS에서 작동하도록 구성되었습니다. 앱을 등록하고 알림을 보내는 연결 문자열 있습니다.

샘플 Windows 앱 만들기

  1. Visual Studio에서 파일 메뉴를 열고 새로 만들기를 선택한 다음 프로젝트를 선택합니다.

  2. 새 프로젝트 만들기 대화 상자에서 다음 단계를 완료합니다.

    1. 위쪽의 검색 상자에서 Windows 유니버설을 입력합니다.

    2. 검색 결과에서 빈 앱(유니버설 Windows)을 선택한 다음, 다음을 선택합니다.

      New Project dialog

    3. 새 프로젝트 구성 대화 상자에서 프로젝트 파일의 프로젝트 이름위치를 입력합니다.

    4. 만들기를 실행합니다.

  3. 대상최소 플랫폼 버전에 대한 기본값을 그대로 적용하고, 확인을 선택합니다.

  4. 솔루션 탐색기 Windows 스토어 앱 프로젝트를 마우스 오른쪽 단추로 클릭하고 게시를 선택한 다음 스토어와 앱 연결을 선택합니다. 응용 프로그램을 Windows 스토어에 연결 마법사가 나타납니다.

  5. 마법사에서 Microsoft 계정으로 로그인합니다.

  6. 2단계에서 등록한 앱을 선택하고 다음을 선택한 다음 연결을 선택합니다. 이렇게 하면 필요한 Windows 스토어 등록 정보가 애플리케이션 매니페스트에 추가됩니다.

  7. Visual Studio에서 솔루션을 마우스 오른쪽 단추로 클릭한 후 NuGet 패키지 관리를 선택합니다. NuGet 패키지 관리 창이 열립니다.

  8. 검색 상자에 WindowsAzure.Messaging.Managed를 입력하고 설치를 선택한 다음, 사용 약관에 동의합니다.

    The Manage NuGet Packages window

    이 작업은 Microsoft.Azure.NotificationHubs NuGet 패키지를 사용하여 Windows용 Azure Notification Hubs 라이브러리를 다운로드하고, 설치하고, 참조를 추가합니다.

  9. App.xaml.cs 프로젝트 파일을 열고 다음 명령문을 추가합니다.

    using Windows.Networking.PushNotifications;
    using Microsoft.WindowsAzure.Messaging;
    using Windows.UI.Popups;
    
  10. 프로젝트 App.xaml.cs 파일에서 클래스를 App 찾고 다음 InitNotificationsAsync 메서드 정의를 추가합니다. Azure Portal에서 만든 알림 허브의 이름으로 바꾸고 알림 DefaultListenSharedAccessSignature<Your DefaultListenSharedAccessSignature connection string> 허브의 액세스 정책 페이지에서 연결 문자열 바꿉 <your hub name> 니다.

    private async void InitNotificationsAsync()
    {
        var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
    
        var hub = new NotificationHub("<your hub name>", "<Your DefaultListenSharedAccessSignature connection string>");
        var result = await hub.RegisterNativeAsync(channel.Uri);
    
        // Displays the registration ID so you know it was successful
        if (result.RegistrationId != null)
        {
            var dialog = new MessageDialog("Registration successful: " + result.RegistrationId);
            dialog.Commands.Add(new UICommand("OK"));
            await dialog.ShowAsync();
        }
    }
    

    이 코드는 WNS에서 앱의 채널 URI를 검색한 후 해당 채널 URI를 알림 허브에 등록합니다.

    참고 항목

    hub name 자리 표시자를 Azure Portal에 표시되는 알림 허브의 이름으로 바꿉니다. 또한 연결 문자열 자리 표시자를 이전 섹션의 DefaultListenSharedAccessSignature 알림 허브 액세스 정책 페이지에서 얻은 연결 문자열 바꿉니다.

  11. 이벤트 처리기의 OnLaunchedApp.xaml.cs맨 위에 새 InitNotificationsAsync 메서드에 다음 호출을 추가합니다.

    InitNotificationsAsync();
    

    이 작업은 애플리케이션이 시작될 때마다 채널 URI가 알림 허브에 등록되도록 보장합니다.

  12. Package.appxmanifest를 마우스 오른쪽 단추로 클릭하고 코드 보기(F7)를 선택합니다. <Identity .../>를 찾고 이름 값을 패키지/ID/이름으로 바꾸고, 게시자 값을 이전에 만든 앱의 패키지/ID/게시자 값으로 바꿉니다.

  13. 앱을 실행하려면 키보드의 F5 키를 누릅니다. 등록 키를 포함하는 대화 상자가 표시됩니다. 대화 상자를 닫려면 [확인]을 클릭합니다.

    Registration successful

이제 앱에서 알림 메시지를 받을 준비가 되었습니다.

테스트 알림 보내기

Azure Portal에서 알림을 보내 앱에서 알림 수신을 빠르게 테스트할 수 있습니다.

  1. Azure Portal에서 개요 탭으로 전환하고, 도구 모음에서 테스트 보내기를 선택합니다.

    Test Send button

  2. 보내기 테스트 창에서 다음 작업을 수행합니다.

    1. 플랫폼의 경우 Windows 선택합니다.

    2. 알림 유형에 대해 알림을 선택합니다.

    3. 보내기를 선택합니다.

      The Test Send pane

  3. 창의 맨 아래에 있는 결과 목록에서 보내기 작업의 결과가 표시됩니다. 경고 메시지도 표시됩니다.

    Result of Send operation

  4. 바탕 화면에 알림 메시지: 테스트 메시지가 표시됩니다.

    Notification message

다음 단계

포털 또는 콘솔 앱을 사용하여 모든 Windows 디바이스로 브로드캐스트 알림을 보냈습니다. 특정 디바이스에 알림을 푸시하는 방법을 알아보려면 다음 자습서로 진행하세요.