내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Windows Phone 8의 푸시 알림 보내기

2014-06-18

적용 대상: Windows Phone 8 및 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

 

Windows Phone 클라이언트 앱이 알림을 등록하면 해당 앱에 알림을 보낼 수 있습니다. 일반적으로 이 작업은 알림을 보내기 위한 URI 컬렉션을 보관하는 웹 서비스를 통해 수행되지만, Microsoft 푸시 알림 서비스로 메시지를 보낼 수 있는 앱에서도 수행될 수 있습니다. Windows Phone 의 Microsoft 푸시 알림 서비스는 전력 효율적인 방식으로 클라우드 서비스에서 Windows Phone 앱에 데이터를 보낼 수 있는 채널을 타사 개발자에게 제공하는 비동기적인 최선의 서비스입니다. 푸시 알림을 보내는 방법을 보여 주는 샘플 코드를 보려면 Windows Phone 8의 토스트 알림을 보내고 받는 방법, Windows Phone 8의 타일 알림을 보내고 받는 방법Windows Phone 8의 원시 알림을 보내고 받는 방법를 참조하세요.

중요중요:

푸시 알림 서비스로 알림을 보내기 위해서는 인증된 웹 서비스를 설정하는 것이 좋습니다. HTTPS 인터페이스를 통해 통신이 이루어지므로 더 안전하기 때문입니다. 인증된 웹 서비스는 하루에 보낼 수 있는 푸시 알림의 수를 제한하지 않습니다. 반면 인증되지 않은 웹 서비스는 하루에 구독당 푸시 알림 500개의 비율로 그 수를 제한합니다. 자세한 내용은 Windows Phone 8의 푸시 알림을 보내도록 인증된 웹 서비스 설정을 참조하세요.

푸시 알림을 보내기 위해 웹 서비스 또는 앱이 갖추어야 할 조건은 다음과 같습니다.

  • 알림을 보낼 각 Windows Phone 단말기에 대한 POST 메시지를 만들어야 합니다.

  • 적절한 알림 유형에 대한 메시지를 구성해야 합니다. 다음 섹션에서는 토스트, 타일 및 원시 알림 메시지의 메시지 형식에 대해 설명합니다. 한 번에 하나의 알림 유형(토스트, 타일 또는 원시)만 서버에 게시할 수 있습니다. 동일한 클라이언트 단말기에 여러 알림 유형을 동시에 보내려면 알림 유형마다 별도의 POST 메시지를 만들어야 합니다.

  • Windows Phone OS 7.0 에서 사용할 수 없는 속성, 특히 토스트 알림의 Parameter 속성과 타일 알림의 BackTitle, BackBackgroundImage, BackContent 또는 타일 ID 속성을 사용하지 말고 Windows Phone OS 7.0 클라이언트에 대해 메시지를 올바로 다운그레이드합니다. 웹 서비스에 단말기 URI 정보를 등록할 때 단말기 OS 버전 정보도 보내는 것이 좋습니다.

  • 푸시 알림 서비스에 메시지를 게시합니다.

  • 푸시 알림 서비스에서 응답을 가져오고 적절히 응답합니다.

참고참고:

앱의 타일 이미지를 업데이트하는 데 원격 URI를 사용하도록 지정하고 사용자가 앱의 타일 크기를 변경하는 경우, Windows Phone에서는 타일 이미지의 다운로드 및 업데이트 프로세스를 시작합니다. Windows Phone이 타일 이미지를 로컬 리소스로 업데이트하는 프로세스에 있고 원격 URI로 타일 이미지를 업데이트하라는 요청이 이루어진 경우 타일 이미지에는 로컬 리소스가 아니라 원격 리소스가 표시됩니다.

이 항목에는 다음 단원이 포함되어 있습니다.

 

사용자 지정 HTTP 헤더에는 알림 메시지 ID, 일괄 처리 간격, 전송되는 푸시 알림의 유형, 알림 채널 URI가 포함될 수 있습니다.

MessageID는 응답과 연관된 알림 메시지 ID입니다. 이 헤더가 POST 요청에 추가되지 않으면 푸시 알림 서비스는 이 헤더를 응답에서 생략합니다. 헤더 사양은 "X-MessageID"":"1*MessageIDValue MessageIDValue = STRING (uuid)입니다.

예: X-MessageID: UUID

NotificationClass는 푸시 알림 서비스에서 앱으로 푸시 알림을 보낼 시기를 나타내는 일괄 처리 간격입니다. 이 헤더에 사용할 수 있는 값에 대해서는 토스트, 타일 및 원시 알림 섹션의 표를 참조하세요. 이 헤더가 없으면 푸시 알림 서비스는 즉시 메시지를 전송합니다. 헤더 사양은 ”X-NotificationClass””:”1*NotificationClassValue NotificationClassValue = DIGIT입니다.

예를 들면 X-NotificationClass:1와 같습니다.

알림 유형은 보낼 푸시 알림의 유형입니다. 사용 가능한 옵션은 타일, 토스트 및 원시 알림입니다. 이 헤더가 없으면 푸시 알림은 원시 알림으로 처리됩니다. 자세한 내용은 Windows Phone 8의 푸시 알림을 참조하세요. 헤더 사양은 “X-WindowsPhone-Target””:”1*NotificationTypeValue NotificationTypeValue = STRING입니다.

예를 들면 X-WindowsPhone-Target:toast와 같습니다.

다음 문자는 타일 또는 토스트 페이로드에 사용하는 경우 표에 나온 것처럼 인코딩되어야 합니다.

문자

XML 인코딩

<

&lt;

>

&gt;

&

&amp;

&apos;

&quot;

다음 섹션에서는 토스트 또는 타일로 푸시 알림을 보내는 데 필요한 페이로드 정보에 대해 설명합니다.

토스트 알림 페이로드

코드 또는 XML을 사용하여 토스트 알림을 구조화하는 방법에 대한 일반 정보 및 페이로드를 구조화하여 앱에 대한 딥 링크를 설정하는 방법에 대한 정보는 Windows Phone 8의 토스트를 참조하세요.

토스트 알림 페이로드 HTTP 헤더

토스트 알림을 만들 때 다음 HTTP 헤더를 사용합니다.

sendNotificationRequest.ContentType = "text/xml";
sendNotificationRequest.Headers.Add("X-WindowsPhone-Target", "toast");
sendNotificationRequest.Headers.Add("X-NotificationClass", "[batching interval]");

토스트 알림 일괄 처리 간격

다음 표에는 일괄 처리 간격에 사용할 수 있는 값이 나와 있습니다.

전송 간격

2

즉시 전송합니다.

12

450초 내에 전송합니다.

22

900초 내에 전송합니다.

타일 알림 페이로드

Windows Phone OS 7.1 에서 타일 알림 페이로드를 구조화하는 방법에 대한 일반 정보 및 타일을 지우고 삭제하는 방법에 대한 정보는 Windows Phone OS 7.1의 타일을 만들고 삭제하고 업데이트하는 방법을 참조하세요. Windows Phone 8 앱의 경우 타일 알림 페이로드를 구조화하는 방법에 대한 자세한 내용은 개별 타일 템플릿 항목을 참조하세요. Windows Phone 8의 전환 타일 템플릿, Windows Phone 8의 아이콘 타일 템플릿 또는 Windows Phone 8의 순환 타일 템플릿

타일 알림 페이로드 HTTP 헤더

타일 알림을 보낼 때 다음 HTTP 헤더를 사용합니다.

sendNotificationRequest.ContentType = "text/xml";
sendNotificationRequest.Headers.Add("X-WindowsPhone-Target", "token");
sendNotificationRequest.Headers.Add("X-NotificationClass", "[batching interval]"); 

타일 알림 일괄 처리 간격

다음 표에는 일괄 처리 간격에 사용할 수 있는 값이 나와 있습니다.

전송 간격

1

즉시 전송합니다.

11

450초 내에 전송합니다.

21

900초 내에 전송합니다.

보조 타일로 푸시 알림 보내기

앱에 보조 타일이 있으면 Id 특성에서 업데이트할 타일을 지정합니다. 앱의 기본 타일을 업데이트하는 경우 Tile 요소의 Id 특성을 생략할 수 있습니다.

다음 코드에서는 보조 타일의 정확한 탐색 URI를 포함해야 하는 Tile 요소의 Id 특성 예를 보여 줍니다.


string tileMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<wp:Notification xmlns:wp=\"WPNotification\">" +
  "<wp:Tile Id=\"/SecondaryTile.xaml?DefaultTitle=FromTile\">" +
…
  "</wp:Tile> " +
"</wp:Notification>";

원시 타일 알림 페이로드

원시 타일 알림을 보낼 때 다음 HTTP 헤더를 사용합니다.

sendNotificationRequest.ContentType = "text/xml";
sendNotificationRequest.Headers.Add("X-NotificationClass", "[batching interval]"); 

다음 표에는 일괄 처리 간격에 사용할 수 있는 값이 나와 있습니다.

전송 간격

3

즉시 전송합니다.

13

450초 내에 전송합니다.

23

900초 내에 전송합니다.

페이로드의 구조는 앱에서 정의합니다. 다음 코드에서는 이러한 예제를 보여 줍니다.


string tileMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
    "<root>" +
        "<Value1>[UserValue1]<Value1>" +
        "<Value2>[UserValue2]<Value2>" +
    "</root>"

바이트 스트림을 전달할 수도 있습니다. 다음 코드에서는 이러한 예제를 보여 줍니다.

new byte[] {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08};

Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft