Partager via


Créer ou remplacer une installation

Cette méthode crée ou remplace une installation.

Requête

Méthode URI de demande Version HTTP
PUT https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/{id}?api-version=2015-01 HTTP/1.1

En-têtes de requête

Le tableau suivant décrit les en-têtes de demande obligatoires ou facultatifs.

En-tête de requête Description
Content-Type application/json
Autorisation Jeton SAP généré comme spécifié dans Authentification par signature d’accès partagé avec Service Bus.
x-ms-version 2015-01

Corps de la demande

Le tableau suivant décrit les propriétés du corps de la requête JSON pour les installations :

Nom Type Obligatoire Lecture seule Description
installationId String Oui Non Chaîne d’identificateur unique globale
userID String Non Non Chaîne personnalisée contenant une combinaison de caractères alphanumériques et -_@#.:=. Il existe une relation un à plusieurs entre l’ID d’utilisateur et l’ID d’installation (c’est-à-dire qu’un ID d’utilisateur peut être associé à plusieurs installations)
lastActiveOn String Non Oui Date à laquelle l’installation a été désactivée par le PNS.
expirationTime String Non Oui Chaîne contenant la date et l’heure en W3C DTF, AAAA-MM-JJThh:mmTZD (par exemple, 1997-07-16T19:20+01:00)) dans lesquelles l’inscription expire. La valeur peut être définie au niveau du hub lors de la création ou de la mise à jour et, par défaut, n’expire jamais (9999-12-31T23:59:59).
lastUpdate String Ignoré lors de la mise à jour. Retourné lors de la lecture. Oui Date au format W3C de la dernière mise à jour de cette installation.
plateforme String Oui Non Peut être {APNS, WNS, MPNS, ADM, GCM}.
pushChannel String Oui Non Le handle PNS pour cette installation (si vous utilisez WNS et le ChannelUri de l’ApplicationTile).
expiréPushChannel Booléen Ignoré lors de la mise à jour. Retourné lors de la lecture. Oui Ce paramètre est true si le PNS a expiré le canal.
tags Tableau de chaînes Non Non Tableau de balises. Les balises sont des chaînes telles que définies dans les spécifications hub.
modèles Objet JSON Non Non Objet JSON représentant un dictionnaire de templateNames dans la description du modèle.
Modèles. {name} String Non Non Objet JSON représentant un modèle.
Modèles. {name}.body String Oui, si le modèle est présent Non Modèle pour le corps de la charge utile de notification.
Modèles. {name}.headers Objet JSON Non. Ne peut être présent que si la plateforme est WNS ou MPNS. Non Objet JSON où chaque propriété est un nom d’en-tête et une valeur est une expression de modèle.
Modèles. {name}.expiry String Non. Peut être présent uniquement si la plateforme est apns Non Expression de modèle évaluant au format de date W3D.
Modèles. {name}.tags Tableau de chaînes Non Non Tableau de balises pour ce modèle.
secondaryTiles Objet JSON Non. Peut être présent uniquement si la plateforme est wns. Non Objet JSON contenant un dictionnaire d’objets tileId et secondaryTiles.
secondaryTile. {tileId} Objet JSON Non Non Objet JSON avec des propriétés Push pour les vignettes secondaires.
secondaryTile. {tileId}.pushChannel String Oui, si tileId est présent Non ChannelUri pour la vignette secondaire.
secondaryTile. {tileId}.tags Tableau de chaînes Non Non Étiquettes pour les notifications natives vers la vignette secondaire.
secondaryTile. {tileId}.templates Objet JSON Non Non Identique à la propriété templates, mais pour chaque vignette secondaire.

Notez les points suivants :

  • Dans JSON, l’ordre des éléments n’est pas important.
  • Le corps du modèle doit être JSON pour APNS, GCM, ADM.
  • Le corps du modèle doit être XML pour WNS et MPNS (sauf quand il est brut).
  • Les modèles pour WNS doivent inclure un en-tête X-WNS-Type.
  • Les modèles pour MPNS doivent avoir des en-têtes compatibles, comme décrit dans Envoi de notifications Push pour Windows Phone 8.

Voici quelques exemples JSON.

Exemple d’inscription auprès d’APNS :

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

Notes

L’élément Tags est facultatif.

Exemple d’inscription en mode natif auprès de WNS, y compris un modèle et aucune étiquette :

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

        } 
}  

Liste des squelettes de nombreux éléments possibles

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

response

La réponse inclut un code d'état HTTP et un ensemble d'en-têtes de réponse.

Codes de réponse

Code Description
200 L’installation a été mise en file d’attente et est traitée en arrière-plan.
400 L’installation n’a pas pu être créée/remplacée, car la demande a été incorrecte.
401 Échec de l'autorisation. La clé d’accès était incorrecte.
403 Trop d’installations dans cet espace de noms - Installations non créées.

Pour plus d’informations sur les codes status, consultez Codes d’état et d’erreur.

En-têtes de réponse

En-tête de réponse Description
Content-Type application/json
Content-Location Emplacement de l’installation au format : https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/<installationId>

Response body

Aucun.

Voir aussi

Lire une installation
Mettre à jour une installation par ID d’installation
Supprimer une installation