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.
- Een systeemeigen APNS-melding verzenden
- Een systeemeigen GCM-melding verzenden
- Een systeemeigen MPNS-melding verzenden
- Een systeemeigen WNS-melding verzenden
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