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