알림 메시지 원격 분석 가져오기
이 API는 나가는 푸시 알림의 완료된 상태에 대한 추가 원격 분석을 제공합니다. 허브에서 보낸 푸시 알림을 모니터링할 수 있도록 설계되었습니다. 이 API에서 사용하는 알림 ID는 알림을 보내는 데 사용되는 REST API의 응답에 포함된 HTTP 위치 헤더에서 검색할 수 있습니다.
이 메시지별 원격 분석 기능은 예약된 알림에도 사용할 수 있습니다.
이 API는 표준 계층 알림 허브에만 사용할 수 있습니다.
요청
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
GET | https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/{notification message ID}?api-version=2016-07 |
HTTP/1.1 |
요청 헤더
다음 표에서는 필수 요청 헤더와 선택적 요청 헤더에 대해 설명합니다.
요청 헤더 | Description |
---|---|
권한 부여 | Service Bus를 사용한 공유 액세스 서명 인증에 지정된 대로 생성된 SAS 토큰입니다. |
x-ms-version | 2016-07(2015-01 이상 지원) |
요청 본문
없음
응답
응답에는 HTTP 상태 코드 및 응답 헤더 집합이 포함되어 있습니다. 응답 본문은 성공에 따라 반환됩니다.
응답 코드
코드 | Description |
---|---|
200 | 메시지 원격 분석이 성공적으로 검색되었습니다. 원격 분석 데이터는 전송된 알림 메시지의 대상 디바이스 수와 처리할 시스템을 통해 메시지가 얼마나 진행되었는지에 따라 부분 응답일 수 있습니다. |
400 | 요청 형식이 잘못되어 메시지 원격 분석을 검색할 수 없습니다. |
401 | 인증 실패 액세스 키가 잘못되었습니다. |
403 | 이 기능이 SKU에 대해 사용하도록 설정되지 않았기 때문에 요청이 거부되었습니다. 표준으로 업그레이드합니다. |
404 | 원격 분석이 없습니다. 이 오류는 알림 ID가 유효하지 않은 경우에 발생할 수 있습니다. |
상태 코드에 대한 자세한 내용은 상태 및 오류 코드를 참조하세요.
응답 헤더
응답 헤더 | Description |
---|---|
Content-type | application/xml; charset=utf-8 |
응답 본문
응답 본문은 다음 요소로 구성된 NotificationDetails 문서입니다.
요소 | 설명 |
---|---|
NotificationId | 알림 메시지를 식별하는 요청에 전달된 ID입니다. |
위치 | 메시지의 URI |
시스템 상태 | 메시지 진행률을 나타냅니다. 상태는 다음 값 중 하나일 수 있습니다.
|
EnqueueTime | 메시지가 수락된 시간을 나타냅니다. |
StartTime | 알림 허브 서비스가 알림 작업을 시작한 시기를 나타냅니다. |
EndTime | 알림 허브 서비스가 알림에 대한 작업을 완료한 시기를 나타냅니다. |
NotificationBody | 원래 알림 메시지의 본문입니다. |
TargetPlatforms | 알림이 대상으로 하는 플랫폼을 나타냅니다. 다음 값을 쉼표로 구분된 문자열로 포함할 수 있습니다.
|
ApnsOutcomeCounts | 이 요소는 Apple Push Notification Service로 전송되는 알림에 대해 존재합니다. 결과 인스턴스의 컬렉션을 포함합니다. |
MpnsOutcomeCounts | 이 요소는 Microsoft 푸시 알림 서비스로 전송되는 알림에 대해 존재합니다. 결과 인스턴스의 컬렉션을 포함합니다. |
WnsOutcomeCounts | 이 요소는 Windows Notification Service로 전송되는 알림에 대해 존재합니다. 결과 인스턴스의 컬렉션을 포함합니다. |
GcmOutcomeCounts | 이 요소는 Google Cloud Messaging으로 전송되는 알림에 존재합니다. 결과 인스턴스의 컬렉션을 포함합니다. |
AdmOutcomeCounts | 이 요소는 Amazon Device Messaging으로 전송되는 알림에 존재합니다. 결과 인스턴스의 컬렉션을 포함합니다. |
결과 | 이러한 인스턴스의 컬렉션은 각 플랫폼 알림 서비스에 대해 위의 수를 구성합니다. 각 결과는 결과 섹션에 언급된 명명된 개수 중 하나일 수 있습니다 . |
PnsErrorDetailsUri | 이 API 및 알림 메시지를 보내는 API에 사용되는 Api-Version 2016-07 이상이 필요합니다. PNS 오류 세부 정보는 연결된 보내기 작업이 완료된 후에만 완전히 사용할 수 있습니다. 관련된 각 PNS에서 반환된 오류를 포함하는 Blob에 대한 URI를 가져옵니다. PNS에서 오류가 보고되지 않은 경우 이 멤버는 응답에 포함되지 않습니다. Azure Storage API를 사용하여 Blob을 읽을 수 있습니다. 자세한 내용은 .NET을 사용하여 Azure Blob Storage 시작 또는 Azure Storage Services REST API 참조 가능한 PNS 오류는 다음과 같습니다.
|
결과
속성 | 개수 설명 |
---|---|
AbandonedNotificationMessages | 시간 제한으로 인해 삭제된 푸시 서비스에 대한 보내기 요청 수입니다. |
BadChannel | 채널이 잘못되어 푸시 서비스에 대한 통신이 실패했습니다. |
ChannelDisconnected | 푸시 서비스 연결이 끊어졌습니다. |
ChannelThrottled | 제한으로 인해 푸시 서비스가 액세스를 거부했습니다. |
Dropped | 푸시 서비스는 메시지가 삭제되었음을 나타냅니다. |
ExpiredChannel | 채널이 만료되어 푸시 서비스에 대한 통신이 실패했습니다. |
InvalidCredentials | 푸시 서비스에 인증하는 데 사용되는 자격 증명이 실패했습니다. |
InvalidNotificationSize | 푸시 요청이 너무 큽습니다. |
NoTargets | 보낼 항목이 없는 요청 수입니다. |
PnsInterfaceError | 푸시 서비스 계약 통신이 실패했습니다. |
PnsServerError | 푸시 서비스는 해당 쪽에서 오류가 발생했음을 나타냅니다. |
PnsUnavailable | 푸시 서비스를 사용할 수 없습니다. |
PnsUnreachable | 푸시 서비스가 응답하지 않았습니다. |
건너뜀 | 중복 등록 수(동일한 PNS 핸들이 발견됨, 다른 등록 ID). |
Success | 요청을 일부 디바이스로 성공적으로 보냈습니다. |
정체됨 | 제한으로 인해 푸시 서비스가 액세스를 거부했습니다. |
UnknownError | 알 수 없는 오류가 발생했습니다. |
WrongToken | PNS 핸들이 PNS에서 유효한 핸들로 인식되지 않았습니다. |
다음은 WNS에 알림을 보내는 원격 분석의 예입니다.
<NotificationDetails xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<NotificationId>{Your message id}</NotificationId>
<Location>sb://{Your namespace}.servicebus.windows.net/{your hub name}/messages/{your message id}?api-version=2015-04</Location>
<State>Completed</State>
<EnqueueTime>2015-11-02T21:19:43Z</EnqueueTime>
<StartTime>2015-11-02T21:19:43.9926996Z</StartTime>
<EndTime>2015-11-02T21:19:43.9926996Z</EndTime>
<NotificationBody><?xml version="1.0" encoding="utf-16"?><toast><visual><binding template="ToastText01"><text id="1">Hello from a .NET App!</text></binding></visual></toast></NotificationBody>
<TargetPlatforms>windows</TargetPlatforms>
<WnsOutcomeCounts>
<Outcome>
<Name>Success</Name>
<Count>3</Count>
</Outcome>
<Outcome>
<Name>WrongToken</Name>
<Count>1</Count>
</Outcome>
</WnsOutcomeCounts>
<PnsErrorDetailsUri>{Blob uri}</PnsErrorDetailsUri>
</NotificationDetails>
참고 항목
템플릿 알림 보내기
APNS 네이티브 알림 보내기
GCM 네이티브 알림 보내기
MPNS 네이티브 알림 보내기
WNS 네이티브 알림 보내기