Criar ou substituir uma instalação
Este método cria ou substitui uma instalação.
Pedir
Método | URI do pedido | Versão HTTP |
---|---|---|
PUT | https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/{id}?api-version=2015-01 |
HTTP/1.1 |
Cabeçalhos do pedido
A tabela seguinte descreve os cabeçalhos de pedido obrigatórios e opcionais.
Cabeçalho do pedido | Descrição |
---|---|
Content-Type | application/json |
Autorização | Token de SAS gerado conforme especificado em Autenticação de Assinatura de Acesso Partilhado com o Service Bus. |
x-ms-version | 2015-01 |
Corpo do pedido
A tabela seguinte descreve as propriedades do corpo do pedido JSON para instalações:
Nome | Tipo | Necessário | Só de leitura | Descrição |
---|---|---|---|---|
installationId | String | Yes | No | Cadeia de identificador exclusiva global |
userID | String | No | No | Cadeia personalizada que contém uma combinação de carateres alfanuméricos e -_@#.:=. Existe uma relação um a muitos entre o UserID e o ID de Instalação (ou seja, um ID de Utilizador pode ser associado a várias instalações) |
lastActiveOn | String | No | Yes | A data em que a instalação foi efetuada inativo pelo PNS. |
expirationTime | String | No | Yes | Uma cadeia que contém a data e hora no DTF W3C, YYYY-MM-DDThh:mmTZD (por exemplo, 1997-07-16T19:20+01:00)) na qual o registo expirará. O valor pode ser definido ao nível do hub ao criar ou atualizar e, por predefinição, nunca expira (9999-12-31T23:59:59). |
lastUpdate | String | Ignorado ao atualizar. Devolvido ao ler. | Yes | Data no formato W3C da última atualização para esta instalação. |
plataforma | String | Yes | No | Pode ser {APNS, WNS, MPNS, ADM, GCM}. |
pushChannel | String | Yes | No | O identificador PNS para esta instalação (se estiver a utilizar o WNS e o ChannelUri do ApplicationTile). |
expirouPushChannel | Booleano | Ignorado ao atualizar. Devolvido ao ler. | Yes | Este parâmetro é true se o PNS expirou o canal. |
etiquetas | Matriz de cadeias | No | No | Uma matriz de etiquetas. As etiquetas são cadeias, conforme definido nas especificações do hub. |
modelos | Objeto JSON | No | No | Um objeto JSON que representa um dicionário de templateNames para a descrição do modelo. |
modelos. {name} | String | No | No | Objeto JSON que representa um modelo. |
modelos. {name}.body | String | Sim, se o modelo estiver presente | No | Modelo para o corpo do payload de notificação. |
modelos. {name}.headers | Objeto JSON | N.º Só pode estar presente se a plataforma for WNS ou MPNS. | No | Objeto JSON em que cada propriedade é um nome de cabeçalho e valor é uma expressão de modelo. |
modelos. {name}.expiry | String | N.º Só pode estar presente se a plataforma for apns | No | Expressão de modelo a avaliar no formato de data W3D. |
modelos. {name}.tags | Matriz de cadeias | No | No | Matriz de etiquetas para este modelo. |
secondaryTiles | Objeto JSON | N.º Só pode estar presente se a plataforma for wns. | No | Objeto JSON que contém um dicionário de objetos tileId e secondaryTiles. |
secondaryTile. {tileId} | Objeto JSON | No | No | Objeto JSON com propriedades push para mosaicos secundários. |
secondaryTile. {tileId}.pushChannel | String | Sim, se tileId estiver presente | No | ChannelUri para mosaico secundário. |
secondaryTile. {tileId}.tags | Matriz de cadeias | No | No | Etiquetas para notificações nativas para mosaico secundário. |
secondaryTile. {tileId}.templates | Objeto JSON | No | No | O mesmo que a propriedade modelos, mas para cada mosaico secundário. |
Tenha em atenção os seguintes pontos:
- Em JSON, a ordem dos elementos não é importante.
- O corpo do modelo tem de ser JSON para APNS, GCM, ADM.
- O corpo do modelo tem de ser XML para WNS e MPNS (exceto quando não processado).
- Os modelos para WNS têm de incluir o cabeçalho X-WNS-Type.
- Os modelos para MPNS têm de ter cabeçalhos compatíveis, conforme descrito em Enviar notificações push para Windows Phone 8.
Seguem-se alguns exemplos JSON.
Exemplo para se registar no APNS:
{
"installationId": "12234",
"userID": "MyAmazingUser",
"tags": ["foo", "bar"],
"platform": "apns",
"pushChannel": "ABCDEF-123456-…"
}
Nota
O elemento Etiquetas é opcional.
Exemplo para se registar nativamente no WNS, incluindo um modelo e sem etiquetas:
{
"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"]
}
}
}
Uma lista de esqueletos de muitos elementos possíveis
{
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"]
}
}
}
}
}
Resposta
A resposta inclui um código de estado HTTP e um conjunto de cabeçalhos de resposta.
Códigos de resposta
Código | Descrição |
---|---|
200 | A instalação foi feita em fila com êxito e é processada em segundo plano. |
400 | Não foi possível criar/substituir a instalação porque o pedido foi mal formado. |
401 | Falha de autorização. A chave de acesso estava incorreta. |
403 | Demasiadas instalações neste espaço de nomes – instalações não criadas. |
Para obter informações sobre códigos de estado, veja Códigos de Estado e Erro.
Cabeçalhos de resposta
Cabeçalho de resposta | Descrição |
---|---|
Tipo de conteúdo | application/json |
Localização do Conteúdo | A localização da instalação no formato: https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/<installationId> |
Corpo da resposta
Nenhum.
Consulte também
Ler uma instalação
Atualizar uma instalação por ID de Instalação
Eliminar uma instalação