디바이스 핸들 컬렉션에 직접 일괄 처리 보내기
디바이스 핸들 컬렉션(알림 유형으로 표현된 유효한 토큰)에 직접 알림 일괄 처리를 보냅니다. 이 API는 기본 및 표준 계층 Notification Hub 네임스페이스에 사용할 수 있습니다. 이 API의 사용자는 등록 또는 설치를 사용할 필요가 없습니다. 대신, 이 API의 사용자는 모든 디바이스를 자체적으로 관리하고 알림 허브를 통과 서비스로만 사용하여 다양한 푸시 알림 서비스와 통신합니다.
현재 Direct Batch Send는 요청당 최대 1,000개의 디바이스를 지원합니다.
참고
Google이 FCM(Firebase Cloud Messaging) 레거시 API를 통해 지원하는 한 GCM(Google Cloud Messaging)을 계속 지원합니다. 이 API는 아직 FCM(Firebase Cloud Messaging)을 지원하지 않습니다.
요청
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
POST | https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/$batch?direct&api-version=2015-08 |
HTTP/1.1 |
요청 헤더
다음 표에서는 필수 요청 헤더와 선택적 요청 헤더에 대해 설명합니다.
요청 헤더 | Description |
---|---|
권한 부여 | Service Bus를 사용한 공유 액세스 서명 인증에 지정된 대로 생성된 SAS 토큰입니다. 자세한 내용은 일반적인 개념을 참조하세요. |
콘텐츠 형식 | multipart/mixed; boundary="boundary-string" 경계 문자열은 RFC1341에 정의된 다중 파트 콘텐츠 형식에 따라 각 파트를 구분하는 데 사용됩니다. 각 파트는 캡슐화 경계로 시작한 다음 머리글 영역, 빈 선 및 본문 영역으로 구성된 본문 부분을 포함합니다. |
ServiceBusNotification-Format | 유효한 PlatformType 값windows , , , apple , baidu gcm windowsphone adm nokiax 중 하나로 설정합니다. |
x-ms-version | 2015-04(2015-01 이상 지원) |
요청 본문
요청 본문은 RFC1341에 정의된 다중 파트입니다. 각 파트는 캡슐화 경계로 시작한 다음 머리글 영역, 빈 선 및 본문 영역으로 구성된 본문 부분을 포함합니다. 빈 링크에는 공백이 없어야 합니다. 아래 요청 예제를 참조하세요.
대상 플랫폼 유형에 따라 알림 파트의 본문 형식이 아래의 네이티브 송신 API에 설명된 대로 각 개별 플랫폼을 준수하도록 변경됩니다.
요청 본문의 디바이스 부분은 알림을 받을 디바이스 핸들의 JSON 배열이어야 합니다.
요청 예제
다음은 WNS 예제입니다.
POST https://{namespace}.servicebus.windows.net/{Notification Hub}/messages/$batch?direct&api-version=2015-08 HTTP/1.1
Content-Type: multipart/mixed; boundary = "simple-boundary"
Authorization: SharedAccessSignature sr=https%3a%2f%2f{Namespace}.servicebus.windows.net%2f{Notification Hub}%2fmessages%2f%24batch%3fdirect%26api-version%3d2015-08&sig={Signature}&skn=DefaultFullSharedAccessSignature
ServiceBusNotification-Format: windows
X-WNS-Type: wns/toast
Host: {Namespace}.servicebus.windows.net
Content-Length: 514
Expect: 100-continue
Connection: Keep-Alive
--simple-boundary
Content-type: text/xml
Content-Disposition: inline; name=notification
<toast><visual><binding template="ToastText01"><text id="1">Hello there!</text></binding></visual></toast>
--simple-boundary
Content-type: application/json
Content-Disposition: inline; name=devices
['https://db5.notify.windows.com/?token={Token1}','https://db5.notify.windows.com/?token={Token2}','https://db5.notify.windows.com/?token={Token3}']
--simple-boundary--
다음은 GCM 예제입니다.
POST https://{Namespace}.servicebus.windows.net/{Notification Hub}/messages/$batch?direct&api-version=2015-08 HTTP/1.1
Content-Type: multipart/mixed; boundary="simple-boundary"
Authorization: SharedAccessSignature sr=https%3a%2f%2f{Namespace}.servicebus.windows.net%2f{Notification Hub}%2fmessages%2f%24batch%3fdirect%26api-version%3d2015-08&sig={Signature}&skn=DefaultFullSharedAccessSignature
ServiceBusNotification-Format: gcm
Host: {Namespace}.servicebus.windows.net
Content-Length: 431
Expect: 100-continue
Connection: Keep-Alive
--simple-boundary
Content-Type: application/json
Content-Disposition: inline; name=notification
{"data":{"message":"Hello via Direct Batch Send!!!"}}
--simple-boundary
Content-Type: application/json
Content-Disposition: inline; name=devices
['Device Token1','Device Token2','Device Token3']
--simple-boundary--
다음은 APNS 예제입니다.
POST https://{Namespace}.servicebus.windows.net/{Notification Hub}/messages/$batch?direct&api-version=2015-08 HTTP/1.1
Content-Type: multipart/mixed; boundary="simple-boundary"
Authorization: SharedAccessSignature sr=https%3a%2f%2f{Namespace}.servicebus.windows.net%2f{Notification Hub}%2fmessages%2f%24batch%3fdirect%26api-version%3d2015-08&sig={Signature}&skn=DefaultFullSharedAccessSignature
ServiceBusNotification-Format: apple
Host: {Namespace}.servicebus.windows.net
Content-Length: 511
Expect: 100-continue
Connection: Keep-Alive
--simple-boundary
Content-Type: application/json
Content-Disposition: inline; name=notification
{"aps":{"alert":"Hello using APNS via Direct Batch Send!!!"}}
--simple-boundary
Content-Type: application/json
Content-Disposition: inline; name=devices
['Device Token1','Device Token2','Device Token3']
--simple-boundary--
응답
응답에는 HTTP 상태 코드 및 응답 헤더 집합이 포함되어 있습니다. 성공시 응답 본문이 반환되지 않습니다.
응답 코드
코드 | Description |
---|---|
201 | 만들어졌습니다. |
400 | 제공된 다중 파트 콘텐츠의 일부를 찾을 수 없습니다. |
401 | 인증 실패 액세스 키가 잘못되었습니다. |
403 | 할당량이 초과되었거나 메시지가 너무 큽니다. 메시지가 거부되었습니다. |
404 | URI에 메시지 분기가 없습니다. |
413 | 요청한 엔터티가 너무 큽니다. 메시지 크기는 64Kb를 초과할 수 없습니다. |
상태 코드에 대한 자세한 내용은 상태 및 오류 코드를 참조하세요.
응답 헤더
응답 헤더 | Description |
---|---|
콘텐츠 형식 | application/xml; charset=utf-8 |
위치 | 이 헤더는 표준 계층 Notification Hubs에만 사용할 수 있습니다. 이 헤더에는 알림 메시지 ID가 포함됩니다. 메시지별 원격 분석: 알림 메시지 원격 분석 가져오기 및 PNS 피드백 상관 관계 지정과 함께 사용됩니다. 위치 헤더는 다음 형식을 사용합니다. https://{your namespace}.servicebus.windows.net/{your hub name}/messages/{notification message id}?api-version=2015-04 |
응답 본문
None
참고 항목
직접 보내기
APNS 네이티브 알림 보내기
GCM 네이티브 알림 보내기
MPNS 네이티브 알림 보내기
WNS 네이티브 알림 보내기