Erstellen oder Überschreiben einer Installation
Mit dieser Methode wird eine Installation erstellt oder überschrieben.
Anforderung
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
PUT | https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/{id}?api-version=2015-01 |
HTTP/1.1 |
Anforderungsheader
In der folgenden Tabelle werden erforderliche und optionale Anforderungsheader beschrieben.
Anforderungsheader | BESCHREIBUNG |
---|---|
Content-Type | Anwendung/json |
Authorization | SAS-Token generiert, wie in Shared Access Signature Authentication with Service Bus angegeben. |
x-ms-version | 2015-01 |
Anforderungstext
In der folgenden Tabelle werden die Eigenschaften des JSON-Anforderungstexts für Installationen beschrieben:
Name | type | Erforderlich | Schreibgeschützt | BESCHREIBUNG |
---|---|---|---|---|
installationId | String | Ja | Nein | Global eindeutige Bezeichnerzeichenfolge |
userID | String | Nein | Nein | Benutzerdefinierte Zeichenfolge mit einer Kombination aus alphanumerischen Zeichen und -_@#.:=. Es besteht eine 1:n-Beziehung zwischen UserID und Installations-ID (d. h. eine Benutzer-ID kann mehreren Installationen zugeordnet werden) |
lastActiveOn | String | Nein | Ja | Das Datum, an dem die Installation vom PNS deaktiviert wurde. |
expirationTime | String | Nein | Ja | Eine Zeichenfolge, die das Datum und die Uhrzeit in W3C DTF, JJJJ-MM-DDThh:mmTZD enthält (z. B. 1997-07-16T19:20+01:00)), in dem die Registrierung abläuft. Der Wert kann beim Erstellen oder Aktualisieren auf Hubebene festgelegt werden und läuft standardmäßig nie ab (9999-12-31T23:59:59). |
lastUpdate | String | Wird beim Aktualisieren ignoriert. Wird beim Lesen zurückgegeben. | Ja | Datum der letzten Aktualisierung dieser Installation im W3C-Format. |
Plattform | String | Ja | Nein | Kann {APNS, WNS, MPNS, ADM, GCM} sein. |
pushChannel | String | Ja | Nein | Das PNS-Handle für diese Installation (wenn Sie WNS und den ChannelUri von ApplicationTile verwenden). |
expiredPushChannel | Boolean | Wird beim Aktualisieren ignoriert. Wird beim Lesen zurückgegeben. | Ja | Dieser Parameter ist, wenn der PNS den Kanal abgelaufen ist true . |
tags | Array von Zeichenfolgen | Nein | Nein | Ein Array von Tags. Tags sind Zeichenfolgen, wie in Hubspezifikationen definiert. |
Vorlagen | JSON-Objekt | Nein | Nein | Ein JSON-Objekt, das ein Wörterbuch von templateNames zur Vorlagenbeschreibung darstellt. |
Vorlagen. {name} | String | Nein | Nein | JSON-Objekt, das eine Vorlage darstellt. |
Vorlagen. {name}.body | String | Ja, wenn vorlage vorhanden ist | Nein | Vorlage für den Text der Benachrichtigungsnutzlast. |
Vorlagen. {name}.headers | JSON-Objekt | Nein. Kann nur vorhanden sein, wenn die Plattform WNS oder MPNS ist. | Nein | JSON-Objekt, bei dem jede Eigenschaft ein Headername und Wert ein Vorlagenausdruck ist. |
Vorlagen. {name}.expirationy | String | Nein. Kann nur vorhanden sein, wenn die Plattform apns ist | Nein | Vorlagenausdruck, der im W3D-Datumsformat ausgewertet wird. |
Vorlagen. {name}.tags | Array von Zeichenfolgen | Nein | Nein | Array von Tags für diese Vorlage. |
secondaryTiles | JSON-Objekt | Nein. Kann nur vorhanden sein, wenn die Plattform wns ist. | Nein | JSON-Objekt, das ein Wörterbuch der objekte tileId und secondaryTiles enthält. |
secondaryTile. {tileId} | JSON-Objekt | Nein | Nein | JSON-Objekt mit Pusheigenschaften für sekundäre Kacheln. |
secondaryTile. {tileId}.pushChannel | String | Ja, wenn tileId vorhanden ist | Nein | ChannelUri für die sekundäre Kachel. |
secondaryTile. {tileId}.tags | Array von Zeichenfolgen | Nein | Nein | Tags für native Benachrichtigungen an die sekundäre Kachel. |
secondaryTile. {tileId}.templates | JSON-Objekt | Nein | Nein | Identisch mit der Vorlageneigenschaft, aber für jede sekundäre Kachel. |
Beachten Sie folgende Punkte:
- In JSON ist die Reihenfolge der Elemente nicht wichtig.
- Der Vorlagentext muss JSON für APNS, GCM, ADM sein.
- Der Vorlagentext muss XML für WNS und MPNS sein (außer bei rohem Format).
- Vorlagen für WNS müssen den X-WNS-Type-Header enthalten.
- Vorlagen für MPNS müssen über kompatible Header verfügen, wie unter Senden von Pushbenachrichtigungen für Windows Phone 8 beschrieben.
Es folgen einige JSON-Beispiele.
Beispiel für die Registrierung bei APNS:
{
"installationId": "12234",
"userID": "MyAmazingUser",
"tags": ["foo", "bar"],
"platform": "apns",
"pushChannel": "ABCDEF-123456-…"
}
Hinweis
Das Tags-Element ist optional.
Beispiel für die nativ-Registrierung bei WNS, einschließlich einer Vorlage und ohne Tags:
{
"installationId": "12234",
"userID": "MyAmazingUser",
"platform": "wns",
"pushChannel": "https://db3...",
"templates": {
"myTemplate" : {
body : '<toast><visual lang="en-US"><binding template="ToastTest01"><text id="1">$myTextProp1</text></binding></visual></tile>',
headers: { "X-WNS-Type": "wns/toast" },
"tags": ["foo", "bar"]
}
}
}
Eine Skelettliste mit vielen möglichen Elementen
{
installationId: "",
userID: "",
expirationTime: "",
tags: ["foo", "bar"],
lastUpdate: "",
user: "",
advertisingId: "",
appId: ""
platform: "",
pushChannel: "",
templates: {
"templateName1" : {
body: "",
headers: { "X-WNS-Type": "wns/tile" },
expiration: "",
tags: ["foo", "bar"]
}
}
secondaryTiles: {
"tileId1": {
pushChannel: "",
tags: ["foo", "bar"],
templates: {
"otherTemplate": {
bodyTemplate: "",
headers: { ... },
tags: ["foo"]
}
}
}
}
}
Antwort
Die Antwort enthält den HTTP-Statuscode und einen Satz von Antwortheadern.
Antwortcodes
Code | BESCHREIBUNG |
---|---|
200 | Die Installation wurde erfolgreich in die Warteschlange gestellt und im Hintergrund verarbeitet. |
400 | Die Installation konnte nicht erstellt/überschrieben werden, da die Anforderung fehlerhaft war. |
401 | Autorisierungsfehler Der Zugriffsschlüssel war falsch. |
403 | Zu viele Installationen in diesem Namespace: Installationen wurden nicht erstellt. |
Informationen zu status Codes finden Sie unter Status- und Fehlercodes.
Antwortheader
Antwortheader | BESCHREIBUNG |
---|---|
Inhaltstyp | Anwendung/json |
Content-Location | Der Speicherort der Installation im Format: https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/<installationId> |
Antworttext
Keine.
Weitere Informationen
Lesen einer Installation
Aktualisieren einer Installation durch Installations-ID
Löschen einer Installation