Udostępnij za pośrednictwem


Wysyłanie partii bezpośrednio do kolekcji dojść urządzeń

Wysyła partię powiadomień bezpośrednio do kolekcji dojść urządzeń (prawidłowy token wyrażony przez typ powiadomienia). Ten interfejs API jest dostępny dla przestrzeni nazw usługi Notification Hub w warstwie Podstawowa i Standardowa. Użytkownicy tego interfejsu API nie muszą używać rejestracji ani instalacji. Zamiast tego użytkownicy tego interfejsu API zarządzają wszystkimi urządzeniami samodzielnie i używają centrum powiadomień wyłącznie jako usługi przekazywanej do komunikowania się z różnymi usługami powiadomień wypychanych.

Obecnie funkcja Direct Batch Send obsługuje do 1000 urządzeń na żądanie.

Uwaga

Firma Google Cloud Messaging (GCM) obsługuje usługę Google Cloud Messaging, o ile firma Google obsługuje ją za pośrednictwem starszego interfejsu API firebase Cloud Messaging (FCM). Ten interfejs API nie obsługuje jeszcze usługi Firebase Cloud Messaging (FCM).

Żądanie

Metoda Identyfikator URI żądania Wersja PROTOKOŁU HTTP
POST https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/$batch?direct&api-version=2015-08 HTTP/1.1

Nagłówki żądań

W poniższej tabeli opisano wymagane i opcjonalne nagłówki żądań.

Nagłówek żądania Opis
Autoryzacja Token SAS wygenerowany zgodnie z określoną w artykule Uwierzytelnianie za pomocą sygnatury dostępu współdzielonego za pomocą usługi Service Bus. Aby uzyskać więcej informacji, zobacz temat Common Concepts (Wspólne pojęcia).
Content-Type multipart/mixed; boundary="boundary-string"

Ciąg granicy służy do oddzielania każdej części zgodnie z wieloczęściowym typem zawartości zdefiniowanym w dokumencie RFC1341. Każda część rozpoczyna się od granicy hermetyzacji, a następnie zawiera część ciała składającą się z obszaru nagłówka, pustego wiersza i obszaru treści.
ServiceBusNotification-Format Ustaw jedną z następujących prawidłowych wartości Typu platformy: windows, , gcmapple, windowsphone, adm, nokiax. baidu
x-ms-version 2015-04 (Obsługiwane przez 2015-01 i nowsze)

Treść żądania

Treść żądania jest wieloczęściowa zgodnie z definicją w dokumencie RFC1341. Każda część rozpoczyna się od granicy hermetyzacji, a następnie zawiera część ciała składającą się z obszaru nagłówka, pustego wiersza i obszaru treści. Puste łącze nie może zawierać żadnych białych znaków. Zapoznaj się z poniższymi przykładami żądań.

Na podstawie typu platformy docelowej format treści części powiadomienia zmieni się tak, aby był zgodny z poszczególnymi platformami zgodnie z opisem w poniższych natywnych interfejsach API wysyłania.

Częścią treści żądania urządzenia musi być tablica JSON dojść urządzenia, które otrzymają powiadomienie.

Przykłady żądań

Oto przykład usługi 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--

Oto przykład usługi 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--

Poniżej przedstawiono przykład usługi 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--

Reakcja

Odpowiedź zawiera kod stanu HTTP i zestaw nagłówków odpowiedzi. Treść odpowiedzi nie jest zwracana po pomyślnym zakończeniu.

Kody odpowiedzi

Kod Opis
201 Utworzone.
400 Nie można odnaleźć części dostarczonej zawartości wieloczęściowej.
401 Niepowodzenie autoryzacji. Klucz dostępu był niepoprawny.
403 Przekroczono limit przydziału lub zbyt duży komunikat; wiadomość została odrzucona.
404 Brak gałęzi komunikatów w identyfikatorze URI.
413 Zażądano zbyt dużej jednostki. Rozmiar komunikatu nie może być dłuższy niż 64 Kb.

Aby uzyskać informacje o kodach stanu, zobacz Status and Error Codes (Kody stanu i błędów).

Nagłówki odpowiedzi

Nagłówek odpowiedzi Opis
Content-Type aplikacja/xml; charset=utf-8
Lokalizacja Ten nagłówek jest dostępny tylko dla usługi Notification Hubs w warstwie Standardowa.

Ten nagłówek będzie zawierać identyfikator komunikatu powiadomienia. Jest on używany z telemetrią dla poszczególnych komunikatów: uzyskiwanie danych telemetrycznych komunikatów powiadomień i korelowanie opinii usługi PNS. Nagłówek lokalizacji używa następującego formatu:

https://{your namespace}.servicebus.windows.net/{your hub name}/messages/{notification message id}?api-version=2015-04

Treść odpowiedzi

Brak

Zobacz też

Bezpośrednie wysyłanie
Wysyłanie powiadomienia natywnego usługi APNS
Wysyłanie powiadomienia natywnego usługi GCM
Wysyłanie powiadomienia natywnego MPNS
Wysyłanie powiadomienia natywnego usługi WNS