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