Delen via


Batches rechtstreeks naar een verzameling apparaatingangen verzenden

Hiermee wordt een batch meldingen rechtstreeks verzonden naar een verzameling apparaatingangen (een geldig token zoals uitgedrukt door het meldingstype). Deze API is beschikbaar voor Notification Hub-naamruimten in de Basic- en Standard-laag. Gebruikers van deze API hoeven geen registraties of installaties te gebruiken. In plaats daarvan beheren gebruikers van deze API alle apparaten zelf en gebruiken ze een Notification Hub uitsluitend als passthrough-service om te communiceren met de verschillende pushmeldingsservices.

Op dit moment ondersteunt Direct Batch Send maximaal 1000 apparaten per aanvraag.

Notitie

We blijven Google Cloud Messaging (GCM) ondersteunen zolang Google dit ondersteunt via de verouderde Firebase Cloud Messaging-API (FCM). Deze API biedt nog geen ondersteuning voor Firebase Cloud Messaging (FCM).

Aanvraag

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

Aanvraagheaders

In de volgende tabel worden vereiste en optionele aanvraagheaders beschreven.

Aanvraagheader Description
Autorisatie SAS-token gegenereerd zoals opgegeven in Shared Access Signature Authentication met Service Bus. Zie Algemene begrippen voor meer informatie.
Content-Type multipart/mixed; boundary="boundary-string"

De grenstekenreeks wordt gebruikt om elk onderdeel te scheiden volgens het inhoudstype met meerdere delen dat is gedefinieerd in RFC1341. Elk deel begint met een inkapselingsgrens en bevat vervolgens een hoofdtekstgedeelte dat bestaat uit een koptekstgebied, een lege regel en een hoofdtekstgebied.
ServiceBusNotification-Format Stel in op een van de volgende geldige PlatformType-waarden: windows, apple, gcm, windowsphone, adm, nokiax, . baidu
x-ms-version 2015-04 (ondersteund door 2015-01 en hoger)

Aanvraagbody

De aanvraagbody is meerdelige, zoals gedefinieerd in RFC1341. Elk deel begint met een inkapselingsgrens en bevat vervolgens een hoofdtekstgedeelte dat bestaat uit een koptekstgebied, een lege regel en een hoofdtekstgebied. De lege koppeling mag geen spaties bevatten. Zie de onderstaande aanvraagvoorbeelden.

Op basis van het doelplatformtype wordt de hoofdtekstindeling van een meldingsonderdeel gewijzigd om compatibel te zijn met elk afzonderlijk platform, zoals beschreven in de systeemeigen API's voor verzenden hieronder.

Het apparaatgedeelte van de aanvraagbody moet een JSON-matrix zijn van de apparaatingangen die de melding ontvangen.

Voorbeelden van aanvragen

Hier volgt een WNS-voorbeeld :

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 volgt een GCM-voorbeeld :

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

Hier volgt een APNS-voorbeeld :

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

Antwoord

Het antwoord bevat een HTTP-statuscode en een set antwoordheaders. Er wordt geen antwoordtekst geretourneerd als dit is gelukt.

Antwoordcodes

Code Description
201 Gemaakt.
400 Kan een deel van de opgegeven inhoud met meerdere delen niet vinden.
401 Autorisatiefout. De toegangssleutel is onjuist.
403 Quotum overschreden of bericht is te groot; is geweigerd.
404 Er is geen berichtbranch op de URI.
413 Aangevraagde entiteit is te groot. De berichtgrootte mag niet groter zijn dan 64 kB.

Zie Status- en foutcodes voor meer informatie over statuscodes.

Antwoordheaders

Antwoordheader Description
Content-Type application/xml; charset=utf-8
Locatie Deze header is alleen beschikbaar voor Notification Hubs van de Standard-laag.

Deze koptekst bevat de id van het meldingsbericht. Het wordt gebruikt met telemetrie per bericht: telemetrie van meldingsberichten ophalen en het correleren van PNS-feedback. De locatieheader heeft de volgende indeling:

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

Hoofdtekst van de reactie

Geen

Zie ook

Direct verzenden
Een systeemeigen APNS-melding verzenden
Een systeemeigen GCM-melding verzenden
Een systeemeigen MPNS-melding verzenden
Een systeemeigen WNS-melding verzenden