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 , , gcm apple , 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.
- 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
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