Share via


Direktes Senden von Batches an eine Sammlung von Gerätehandles

Sendet einen Batch von Benachrichtigungen direkt an eine Sammlung von Gerätehandles (ein gültiges Token, wie durch den Benachrichtigungstyp ausgedrückt). Diese API ist für Notification Hub-Namespaces im Basic- und Standard-Tarif verfügbar. Benutzer dieser API müssen keine Registrierungen oder Installationen verwenden. Stattdessen verwalten Benutzer dieser API alle Geräte selbst und verwenden einen Notification Hub ausschließlich als Passthrough-Dienst für die Kommunikation mit den verschiedenen Push notification Services.

Direct Batch Send unterstützt derzeit bis zu 1.000 Geräte pro Anforderung.

Hinweis

Wir unterstützen Google Cloud Messaging (GCM) weiterhin, solange Google es über seine Firebase Cloud Messaging (FCM)-Legacy-API unterstützt. Diese API unterstützt Firebase Cloud Messaging (FCM) noch nicht.

Anforderung

Methode Anforderungs-URI HTTP-Version
POST https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/$batch?direct&api-version=2015-08 HTTP/1.1

Anforderungsheader

In der folgenden Tabelle werden erforderliche und optionale Anforderungsheader beschrieben.

Anforderungsheader BESCHREIBUNG
Authorization SAS-Token generiert, wie in Shared Access Signature Authentication with Service Bus angegeben. Weitere Informationen finden Sie unter Allgemeine Konzepte.
Content-Type multipart/mixed; boundary="boundary-string"

Die Begrenzungszeichenfolge wird verwendet, um die einzelnen Teile gemäß dem in RFC1341 definierten mehrteiligen Inhaltstyp zu trennen. Jeder Teil beginnt mit einer Kapselungsgrenze und enthält dann einen Textteil, der aus Einem Kopfzeilenbereich, einer leeren Zeile und einem Textbereich besteht.
ServiceBusNotification-Format Legen Sie auf einen der folgenden gültigen PlatformType-Werte fest: windows, apple, gcmwindowsphone, adm, nokiax, , baidu.
x-ms-version 2015-04 (unterstützt von 2015-01 und höher)

Anforderungstext

Der Anforderungstext ist mehrteilig, wie in RFC1341 definiert. Jeder Teil beginnt mit einer Kapselungsgrenze und enthält dann einen Textteil, der aus Einem Kopfzeilenbereich, einer leeren Zeile und einem Textbereich besteht. Der leere Link darf keine Leerzeichen enthalten. Sehen Sie sich die unten angegebenen Anforderungsbeispiele an.

Basierend auf dem Zielplattformtyp ändert sich das Textformat eines Benachrichtigungsteils so, dass es mit jeder einzelnen Plattform kompatibel ist, wie in den nativen Sende-APIs unten beschrieben.

Der Geräteteil des Anforderungstexts muss ein JSON-Array der Gerätehandles sein, die die Benachrichtigung empfangen.

Anforderungsbeispiele

Hier ist ein WNS-Beispiel :

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--

Hier sehen Sie ein GCM-Beispiel :

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--

Im Folgenden finden Sie ein APNS-Beispiel :

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--

Antwort

Die Antwort enthält den HTTP-Statuscode und einen Satz von Antwortheadern. Bei Erfolg wird kein Antworttext zurückgegeben.

Antwortcodes

Code BESCHREIBUNG
201 Erstellt.
400 Ein Teil des bereitgestellten mehrteiligen Inhalts konnte nicht gefunden werden.
401 Autorisierungsfehler Der Zugriffsschlüssel war falsch.
403 Kontingent überschritten oder Nachricht zu groß; -Nachricht wurde abgelehnt.
404 Kein Nachrichtenbranch am URI.
413 Die angeforderte Entität ist zu groß. Die Nachrichtengröße darf nicht mehr als 64 KB betragen.

Informationen zu status Codes finden Sie unter Status- und Fehlercodes.

Antwortheader

Antwortheader BESCHREIBUNG
Content-Type application/xml; charset=utf-8
Standort Dieser Header ist nur für Notification Hubs im Standard-Tarif verfügbar.

Dieser Header enthält die Benachrichtigungs-ID. Es wird mit Pro-Nachrichten-Telemetrie verwendet: Abrufen von Benachrichtigungsnachrichtentelemetriedaten und Korrelieren von PNS-Feedback. Der Speicherortheader verwendet das folgende Format:

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

Antworttext

Keine

Weitere Informationen

Direktes Senden
Senden einer nativen APNS-Benachrichtigung
Senden einer nativen GCM-Benachrichtigung
Senden einer nativen MPNS-Benachrichtigung
Senden einer nativen WNS-Benachrichtigung