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 | Sì | 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 | Sì | Data di disattivazione dell'installazione da parte del PNS. |
expirationTime | string | No | Sì | 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. | Sì | Data nel formato W3C dell'ultimo aggiornamento a questa installazione. |
Piattaforma | string | Sì | No | Può essere {APNS, WNS, MPNS, ADM, GCM}. |
pushChannel | string | Sì | No | Handle PNS per questa installazione (se si usa WNS e ChannelUri di ApplicationTile). |
expiredPushChannel | Boolean | Ignorato durante l'aggiornamento. Restituito durante la lettura. | Sì | 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