올바른 푸시 알림 채널 유형 선택Choosing the right push notification channel type

이 문서에서는 앱에 콘텐츠를 제공 하는 데 도움이 되는 세 가지 유형의 Windows 푸시 알림 채널 (기본, 보조 및 대체)을 설명 합니다.This article covers the three types of Windows push notification channels (primary, secondary, and alternate) that help you deliver content to your app.

푸시 알림을 만드는 방법에 대 한 자세한 내용은 WNS (Windows 푸시 Notification Services) 개요를 참조 하세요.(For details on how to create push notifications, see the Windows Push Notification Services (WNS) overview.)

푸시 채널의 유형Types of push channels

Windows 앱에 알림을 보내는 데 사용할 수 있는 푸시 채널에는 세 가지 유형이 있습니다.There are three types of push channels that can be used to send notifications to a Windows app. 아래에 이 계정과 키의 예제가 나와 있습니다.They are:

기본 채널 -"기존" 푸시 채널입니다.Primary channel - the "traditional" push channel. 는 스토어의 모든 앱에서 알림, 타일, raw 또는 배지 알림을 보내는 데 사용할 수 있습니다.Can be used by any app in the store to send toast, tile, raw, or badge notifications. 자세한 내용은 여기를 참조하세요.Learn more here.

보조 타일 채널 -타일 업데이트를 보조 타일로 푸시하는 데 사용 됩니다.Secondary tile channel - used to push tile updates to a secondary tile. 사용자의 시작 화면에 고정 된 보조 타일에 타일 또는 배지 알림을 보내는 데만 사용할 수 있습니다.Can only be used to send tile or badge notifications to a secondary tile pinned on the user's start screen

대체 채널 -작성자 업데이트에 추가 된 새 형식의 채널입니다.Alternate channel - A new type of channel added in the Creators Update. 저장소에 등록 되지 않은 앱을 포함 하 여 모든 Windows 앱으로 원시 알림을 보낼 수 있습니다.It allows for raw notifications to be sent to any Windows app, including those which aren't registered in the Store.

참고

앱이 장치에서 실행 되는 경우 사용 하는 푸시 채널에 관계 없이 항상 로컬 알림, 타일 또는 배지 알림을 보낼 수 있습니다.No matter which push channel you use, once your app is running on the device, it will always be able to send local toast, tile, or badge notifications. 포그라운드 앱 프로세스 또는 백그라운드 작업에서 로컬 알림을 보낼 수 있습니다.It can send local notifications from the foreground app processes or from a background task.

기본 채널Primary channels

이는 현재 Windows에서 가장 일반적으로 사용 되는 채널 이며 앱이 Microsoft Store를 통해 배포 되는 거의 모든 시나리오에 적합 합니다.These are the most commonly used channels on Windows right now, and are good for almost any scenario where your app is going to be distributed through the Microsoft Store. 앱에 모든 유형의 알림을 보낼 수 있습니다.They allow you to send all types of notifications to the app.

기본 채널은 어떤 기능을 사용할 수 있나요?What do primary channels enable?

  • 타일 또는 배지 업데이트를 기본 타일로 보냅니다.Sending tile or badge updates to the primary tile. 사용자가 타일을 시작 화면에 고정 하도록 선택한 경우에는이를 해제할 수 있습니다.If the user has chosen to pin your tile to the start screen, this is your chance to show off. 앱 내에서 유용한 정보 또는 환경 미리 알림이 포함 된 업데이트를 보냅니다.Send updates with useful information or reminders of experiences within your app.
  • 알림 메시지를 보내는 중입니다.Sending toast notifications. 알림 메시지는 사용자 앞에 일부 정보를 즉시 얻을 수 있는 기회입니다.Toast notifications are a chance to get some information in front of the user immediately. 이러한 항목은 셸을 통해 대부분의 앱을 기반으로 하 고, 사용자가 뒤로 돌아가 나중에 조작할 수 있도록 작업 센터에 살고 있습니다.They are painted by the shell over top of most apps, and live in the action center so the user can go back and interact with them later.
  • 백그라운드 작업을 트리거하는 원시 알림을 보냅니다.Sending raw notifications to trigger a background task. 알림에 따라 사용자를 대신 하 여 일부 작업을 수행 하려는 경우가 있습니다.Sometimes you want to do some work on behalf of the user based on a notification. 원시 알림을 사용 하면 앱의 백그라운드 작업을 실행할 수 있습니다.Raw notifications allow your app's background tasks to run
  • TLS를 사용 하 여 Windows에서 제공 하는 전송의 메시지 암호화.Message encryption in transit provided by Windows using TLS. 메시지는 모두 WNS로 들어오고 사용자의 장치로 이동 하는 통신에서 암호화 됩니다.Messages are encrypted on the wire both coming into WNS and going to the user's device.

기본 채널의 제한 사항Limitations of primary channels

  • 에는 장치 공급 업체 간에 표준이 아닌 REST API WNS를 사용 하 여 알림을 푸시 해야 합니다.Requires using the WNS REST API to push notifications, which isn't standard across device vendors.
  • 앱 당 하나의 채널만 만들 수 있습니다.Only one channel can be created per app
  • 앱이 Microsoft Store에 등록 되어 있어야 합니다.Requires your app to be registered in the Microsoft Store

기본 채널 만들기Creating a primary channel

PushNotificationChannel channel = 
    await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

보조 타일 채널Secondary tile channels

이러한 채널은 타일 및 배지 업데이트를 보조 타일로 푸시하는 데 사용할 수 있습니다.These are channels that can be used to push tile and badge updates to a secondary tile. 앱에서 사용자에 게 그룹 채팅 또는 업데이트 된 스포츠 점수의 새 메시지와 같이 앱에서 상호 작용할 수 있는 관심 있는 작업 또는 정보를 사용자에 게 알리는 데 사용 됩니다.These are used by apps to notify users of interesting actions or information that they can interact with in the app, such as new messages in a group chat or an updated sports score.

보조 타일 채널은 어떤 기능을 사용할 수 있나요?What do secondary tile channels enable?

  • 타일 또는 배지 알림을 보조 타일로 보냅니다.Sending tile or badge notifications to secondary tiles. 보조 타일은 사용자를 앱으로 다시 가져오는 좋은 방법입니다.Secondary tiles are a great way to pull users back into your app. 이러한 정보는 관심 있는 정보에 대 한 딥 링크 이며 타일에 대 한 관련 정보를 배치 하면 다시 다시 가져오는 데 도움이 됩니다.They are a deep link to information they care about, and putting relevant information on the tiles helps to bring them back again and again.
  • 여러 타일 간의 채널 (및 expiries) 분리.Separation of channels (and expiries) between various tiles. 이렇게 하면 사용자가 시작 화면에 고정할 수 있는 다양 한 유형의 보조 타일 사이에서 백 엔드의 논리를 구분할 수 있습니다.This allows you to separate the logic in the backend between the various types of secondary tiles that a user might pin to their start screen.
  • TLS를 사용 하 여 Windows에서 제공 하는 전송의 메시지 암호화.Message encryption in transit provided by Windows using TLS. 메시지는 모두 WNS로 들어오고 사용자의 장치로 이동 하는 통신에서 암호화 됩니다.Messages are encrypted on the wire both coming into WNS and going to the user's device.

보조 타일 채널의 제한 사항Limitations of secondary tile channels

  • 알림 또는 원시 알림은 허용 되지 않습니다.No toast or raw notifications allowed. 보조 타일로 전송 된 알림 또는 원시 알림은 시스템에서 무시 됩니다.Toast or raw notifications sent to a secondary tile are ignored by the system.
  • 앱이 Microsoft Store에 등록 되어 있어야 합니다.Requires your app to be registered in the Microsoft Store

보조 타일 채널 만들기Creating a secondary tile channel

PushNotificationChannel channel = 
    await PushNotificationChannelManager.CreatePushNotificationChannelForSecondaryTileAsync(tileId);

대체 채널Alternate channels

대체 채널을 사용 하면 앱에 사용 되는 기본 채널 외부에서 푸시 채널을 만들거나 Microsoft Store에 등록 하지 않고도 앱이 푸시 알림을 보낼 수 있습니다.Alternate channels enable apps to send push notifications without registering to the Microsoft Store or creating push channels outside of the primary one used for the app.

대체 채널은 어떤 기능을 사용할 수 있나요?What do alternate channels enable?

  • 모든 Windows 장치에서 실행 되는 Windows에 원시 푸시 알림을 보냅니다.Send raw push notifications to a Windows running on any Windows device. 대체 채널은 원시 알림만 허용 합니다 (하지만 로컬에서 알림 또는 타일 알림을 표시 하는 백그라운드 작업의 절전 모드를 해제할 수 있음).Alternate channels only allow for raw notifications (however you can still wake up a background task to locally show toast or tile notifications).
  • 앱이 앱 내에서 다양 한 기능에 대 한 여러 원시 푸시 채널을 만들 수 있습니다.Allows apps to create multiple raw push channels for different features within the app. 앱은 최대 1000 개의 대체 채널을 만들 수 있으며 각 채널은 30 일 동안 유효 합니다.An app can create up to 1000 alternate channels, and each one is valid for 30 days. 이러한 각 채널은 앱에서 별도로 관리 하거나 해지할 수 있습니다.Each of these channels can be managed or revoked separately by the app.
  • Microsoft Store를 사용 하 여 앱을 등록 하지 않고도 대체 푸시 채널을 만들 수 있습니다.Alternate push channels can be created without registering an app with the Microsoft Store. Microsoft Store에 등록 하지 않고 장치에 앱을 설치 하려는 경우에도 푸시 알림을 받을 수 있습니다.If you app is going to be installed on devices without registering it in the Microsoft Store, it will still be able to receive push notifications.
  • 서버는 W3C 표준 REST Api 및 VAPID 프로토콜을 사용 하 여 알림을 푸시할 수 있습니다.Servers can push notifications using the W3C standard REST APIs and VAPID protocol. 대체 채널은 W3C 표준 프로토콜을 사용 하므로 유지 관리 해야 하는 서버 논리를 단순화할 수 있습니다.Alternate channels use the W3C standard protocol, this allows you to simplify the server logic that needs to be maintained.
  • 전체, 종단 간, 메시지 암호화Full, end-to-end, message encryption. 전송 중에 기본 채널이 암호화를 제공 하는 반면, 추가 보안을 유지 하려는 경우에는 응용 프로그램이 암호화 헤더를 통과 하 여 메시지를 보호 하는 데 사용할 수 있는 대체 채널이 있습니다.While the primary channel provides encryption while in transit, if you want to be extra secure, alternate channels enable your app to pass through encryption headers to protect a message.

대체 채널의 제한 사항Limitations of alternate channels

  • 앱 서버에서 푸시 알림, 타일 또는 배지 유형 알림을 보낼 수 없습니다.Your app's server cannot send push toast, tile, or badge type notifications. 푸시 원시 알림만 보낼 수 있습니다.You can only send push raw notifications. 앱은 여전히 백그라운드 작업에서 로컬 알림을 보낼 수 있습니다.Your app is still able to send local notifications from your background task.
  • 기본 또는 보조 타일 채널과는 다른 REST API 필요 합니다.Requires a different REST API than either primary or secondary tile channels. 표준 W3C REST API를 사용 하면 앱에 푸시 알림 또는 타일 업데이트를 전송 하는 데 다른 논리가 있어야 함을 의미 합니다.Using the standard W3C REST API means that your app will need to have different logic for sending push toast or tile updates

대체 채널 만들기Creating an alternate channel

PushNotificationChannel webChannel = 
    await PushNotificationChannelManager.GetDefault().CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsync(applicationServerKey, appChannelId);

채널 형식 비교Channel type comparison

다음은 다양 한 유형의 채널을 빠르게 비교 하는 것입니다.Here is a quick comparison between the different types of channels:

유형Type 푸시 알림Push toast? 타일/배지 푸시Push tile/badge? 원시 알림 푸시Push raw notifications? 인증Authentication APIAPI 스토어 등록이 필요 한가요?Store registration required? 채널Channels 암호화Encryption
기본Primary Yes 예-기본 타일에만 해당Yes - primary tile only Yes OAuthOAuth WNS REST APIWNS REST API Yes 앱 당 1 개One per app 전송 중In Transit
보조 타일Secondary Tile 아니요No 예-보조 타일에만 해당Yes - secondary tile only 아니요No OAuthOAuth WNS REST APIWNS REST API Yes 보조 타일 당 하나One per secondary tile 전송 중In Transit
Alternate 아니요No 아니요No Yes VAPIDVAPID WebPush W3C StandardWebPush W3C Standard 아니요No 앱 당 10001,000 per app 전송 중-헤더 통과를 사용 하 여 종단 간 암호화 가능 (앱 코드 필요)In transit + end to end encryption possible with header pass through (requires app code)

오른쪽 채널 선택Choosing the right channel

일반적으로 몇 가지 예외를 제외 하 고 앱에서 기본 채널을 사용 하는 것이 좋습니다.In general, we recommend using the primary channel in your app, with a few exceptions:

  1. 타일 업데이트를 보조 타일로 푸시하는 경우 보조 타일 푸시 채널을 사용 합니다.If you are pushing a tile update to a secondary tile, use the secondary tile push channel.
  2. 다른 서비스 (예: 브라우저의 경우)에 채널을 전달 하는 경우 대체 채널을 사용 합니다.If you are passing out channels to other services (such as in the case of a browser) use the alternate channel.
  3. Windows 스토어에 나열 되지 않는 앱을 만드는 경우 (예: LOB 앱) 대체 채널을 사용 합니다.If you are creating an app that won't be listed in the Windows store (such as an LOB app) use an alternate channel.
  4. 서버에 기존 웹 푸시 코드를 다시 사용 하거나 백엔드 서비스에 여러 채널이 필요한 경우 대체 채널을 사용 합니다.If you have existing web push code on your server you wish to reuse or have a need for multiple channels in your backend service, use alternate channels.