Skapa eller skriva över en installation
Den här metoden skapar eller skriver över en installation.
Förfrågan
Metod | URI för förfrågan | HTTP-version |
---|---|---|
PUT | https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/{id}?api-version=2015-01 |
HTTP/1.1 |
Begärandehuvuden
I följande tabell beskrivs obligatoriska och valfria begärandehuvuden.
Begärandehuvud | Beskrivning |
---|---|
Content-Type | application/json |
Auktorisering | SAS-token genereras enligt vad som anges i Signaturautentisering för delad åtkomst med Service Bus. |
x-ms-version | 2015-01 |
Begärandetext
I följande tabell beskrivs egenskaperna för JSON-begärandetexten för installationer:
Namn | Typ | Obligatorisk | Skrivskyddad | Description |
---|---|---|---|---|
installationId | Sträng | Ja | Nej | Globalt unik identifierarsträng |
userID | Sträng | Nej | Nej | Anpassad sträng som innehåller en kombination av alfanumeriska tecken och -_@#.:=. Det finns en en-till-många-relation mellan UserID och installations-ID (d.v.s. ett användar-ID kan associeras med flera installationer) |
lastActiveOn | Sträng | Nej | Ja | Det datum då installationen gjordes inaktiveras av PNS. |
expirationTime | Sträng | Nej | Ja | En sträng som innehåller datum och tid i W3C DTF, ÅÅÅÅÅ-MM-DDThh:mmTZD (till exempel 1997-07-16T19:20+01:00)) där registreringen upphör att gälla. Värdet kan anges på hubbnivå vid skapande eller uppdatering och går som standard aldrig ut (9999-12-31T23:59:59). |
lastUpdate | Sträng | Ignoreras vid uppdatering. Returneras vid läsning. | Ja | Datum i W3C-format för den senaste uppdateringen av den här installationen. |
plattform | Sträng | Ja | Nej | Kan vara {APNS, WNS, MPNS, ADM, GCM}. |
pushChannel | Sträng | Ja | Nej | PNS-handtaget för den här installationen (om du använder WNS och ChannelUri för ApplicationTile). |
expiredPushChannel | Boolesk | Ignoreras vid uppdatering. Returneras vid läsning. | Ja | Den här parametern är true om PNS har upphört att gälla för kanalen. |
tags | Strängmatris | Nej | Nej | En matris med taggar. Taggar är strängar som definieras i hubbspecifikationer. |
mallar | JSON-objekt | Nej | Nej | Ett JSON-objekt som representerar en ordlista med templateNames till mallbeskrivning. |
Mallar. {name} | Sträng | Nej | Nej | JSON-objekt som representerar en mall. |
Mallar. {name}.body | Sträng | Ja, om mallen finns | Nej | Mall för meddelandenyttolastens brödtext. |
Mallar. {name}.headers | JSON-objekt | Nej. Kan bara finnas om plattformen är WNS eller MPNS. | Nej | JSON-objekt där varje egenskap är ett rubriknamn och ett värde är ett malluttryck. |
Mallar. {name}.expiry | Sträng | Nej. Kan bara finnas om plattformen är apns | Nej | Malluttryck som utvärderas i W3D-datumformat. |
Mallar. {name}.tags | Strängmatris | Nej | Nej | Matris med taggar för den här mallen. |
secondaryTiles | JSON-objekt | Nej. Kan bara finnas om plattformen är wns. | Nej | JSON-objekt som innehåller en ordlista med tileId- och secondaryTiles-objekt. |
secondaryTile. {tileId} | JSON-objekt | Nej | Nej | JSON-objekt med push-egenskaper för sekundära paneler. |
secondaryTile. {tileId}.pushChannel | Sträng | Ja, om tileId finns | Nej | ChannelUri för sekundär panel. |
secondaryTile. {tileId}.tags | Strängmatris | Nej | Nej | Taggar för interna meddelanden till den sekundära panelen. |
secondaryTile. {tileId}.templates | JSON-objekt | Nej | Nej | Samma som mallegenskapen men för varje sekundär panel. |
Observera följande punkter:
- I JSON är ordningen på element inte viktig.
- Malltexten måste vara JSON för APNS, GCM, ADM.
- Malltexten måste vara XML för WNS och MPNS (förutom när den är rå).
- Mallar för WNS måste innehålla sidhuvud av X-WNS-typ.
- Mallar för MPNS måste ha kompatibla rubriker enligt beskrivningen i Skicka push-meddelanden för Windows Phone 8.
Några JSON-exempel följer.
Exempel på registrering med APNS:
{
"installationId": "12234",
"userID": "MyAmazingUser",
"tags": ["foo", "bar"],
"platform": "apns",
"pushChannel": "ABCDEF-123456-…"
}
Anteckning
Elementet Taggar är valfritt.
Exempel på registrering internt med WNS, inklusive en mall och inga taggar:
{
"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"]
}
}
}
En skelettlista över många möjliga element
{
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"]
}
}
}
}
}
Svarsåtgärder
Svaret innehåller en HTTP-statuskod och en uppsättning svarshuvuden.
Svarskoder
Kod | Description |
---|---|
200 | Installationen har placerats i kö och bearbetas i bakgrunden. |
400 | Det gick inte att skapa/skriva över installationen eftersom begäran var felaktig. |
401 | Auktoriseringsfel. Åtkomstnyckeln var felaktig. |
403 | För många installationer i det här namnområdet – Installationer har inte skapats. |
Information om statuskoder finns i Status och Felkoder.
Svarshuvuden
Svarsrubrik | Description |
---|---|
Innehållstyp | application/json |
Innehållsplats | Platsen för installationen i formatet: https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/<installationId> |
Själva svaret
Inga.
Se även
Läsa en installation
Uppdatera en installation efter installations-ID
Ta bort en installation