Creare o sovrascrivere un'installazione

Questo metodo crea o sovrascrive un'installazione.

Richiesta

Metodo URI richiesta Versione HTTP
PUT https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/{id}?api-version=2015-01 HTTP/1.1

Intestazioni della richiesta

Nella seguente tabella vengono descritte le intestazioni di richiesta obbligatorie e facoltative.

Intestazione della richiesta Descrizione
Content-Type application/json
Autorizzazione Token di firma di accesso condiviso generato come specificato in Autenticazione della firma di accesso condiviso con il bus di servizio.
x-ms-version 2015-01

Testo della richiesta

La tabella seguente descrive le proprietà del corpo della richiesta JSON per le installazioni:

Nome Tipo Necessario Sola lettura Descrizione
installationId string No Stringa dell'identificatore univoco globale
userID string No No Stringa personalizzata contenente una combinazione di caratteri alfanumerici e -_@#.:=. Esiste una relazione uno-a-molti tra UserID e ID installazione (ad esempio un ID utente può essere associato a più installazioni)
lastActiveOn string No Data di disattivazione dell'installazione da parte del PNS.
expirationTime string No Stringa contenente la data e l'ora in W3C DTF, AAAA-MM-GGThh:mmTZD (ad esempio, 1997-07-16T19:20+01:00)) in cui la registrazione scadrà. Il valore può essere impostato a livello di hub in fase di creazione o aggiornamento e, per impostazione predefinita, non scade mai (9999-12-31T23:59:59).
lastUpdate string Ignorato durante l'aggiornamento. Restituito durante la lettura. Data nel formato W3C dell'ultimo aggiornamento a questa installazione.
Piattaforma string No Può essere {APNS, WNS, MPNS, ADM, GCM}.
pushChannel string No Handle PNS per questa installazione (se si usa WNS e ChannelUri di ApplicationTile).
expiredPushChannel Boolean Ignorato durante l'aggiornamento. Restituito durante la lettura. Questo parametro è true se il PNS è scaduto dal canale.
tags Matrice di stringhe No No Matrice di tag. I tag sono stringhe definite nelle specifiche dell'hub.
Modelli Oggetto JSON No No Oggetto JSON che rappresenta un dizionario di templateNames per la descrizione del modello.
Modelli. {name} string No No Oggetto JSON che rappresenta un modello.
Modelli. {name}.body string Sì, se il modello è presente No Modello per il corpo del payload di notifica.
Modelli. {name}.headers Oggetto JSON No. Può essere presente solo se la piattaforma è WNS o MPNS. No Oggetto JSON in cui ogni proprietà è un nome di intestazione e un valore è un'espressione modello.
Modelli. {name}.expiry string No. Può essere presente solo se la piattaforma è apn No Espressione modello che valuta in formato data W3D.
Modelli. {name}.tags Matrice di stringhe No No Matrice di tag per questo modello.
secondaryTiles Oggetto JSON No. Può essere presente solo se la piattaforma è wns. No Oggetto JSON contenente un dizionario di oggetti tileId e secondaryTiles.
secondaryTile. {tileId} Oggetto JSON No No Oggetto JSON con proprietà push per i riquadri secondari.
secondaryTile. {tileId}.pushChannel string Sì, se tileId è presente No ChannelUri per il riquadro secondario.
secondaryTile. {tileId}.tags Matrice di stringhe No No Tag per le notifiche native al riquadro secondario.
secondaryTile. {tileId}.templates Oggetto JSON No No Uguale alla proprietà modelli, ma per ogni riquadro secondario.

Tenere presente quanto segue:

  • In JSON l'ordine degli elementi non è importante.
  • Il corpo del modello deve essere JSON per APNS, GCM, ADM.
  • Il corpo del modello deve essere XML per WNS e MPNS (tranne quando non elaborato).
  • I modelli per WNS devono includere l'intestazione X-WNS-Type.
  • I modelli per MPNS devono avere intestazioni compatibili, come descritto in Invio di notifiche push per Windows Phone 8.

Alcuni esempi JSON seguono.

Esempio di registrazione con APNS:

{ 
    "installationId": "12234", 
    "userID": "MyAmazingUser",
    "tags": ["foo", "bar"], 
    "platform": "apns", 
    "pushChannel": "ABCDEF-123456-…" 
}  

Nota

L'elemento Tags è facoltativo.

Esempio per registrare in modo nativo con WNS, incluso un modello e nessun tag:

{ 
    "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"] 
            } 

        } 
}  

Elenco di scheletri di molti elementi possibili

{ 
    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"] 
                    } 
                } 
            } 
        }
}  

Risposta

Nella risposta sono inclusi un codice di stato HTTP e un set di intestazioni per la risposta.

Codici di risposta

Codice Descrizione
200 L'installazione è stata accodata correttamente ed è stata elaborata in background.
400 Impossibile creare o sovrascrivere l'installazione perché la richiesta è stata formattata in modo non corretto.
401 Errore di autorizzazione. La chiave di accesso non è corretta.
403 Troppe installazioni in questo spazio dei nomi: installazioni non create.

Per informazioni sui codici di stato, vedere Codici di stato e di errore.

Intestazioni di risposta

Intestazione risposta Descrizione
Tipo di contenuto application/json
Content-Location Percorso dell'installazione nel formato: https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/<installationId>

Corpo della risposta

No.

Vedere anche

Leggere un'installazione
Aggiornare un'installazione in base all'ID installazione
Eliminare un'installazione