Criar ou substituir uma instalação
Esse método cria ou substitui uma instalação.
Solicitação
Método | URI da solicitação | Versão HTTP |
---|---|---|
PUT | https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/{id}?api-version=2015-01 |
HTTP/1.1 |
Cabeçalhos da solicitação
A tabela a seguir descreve os cabeçalhos de solicitação obrigatórios e opcionais.
Cabeçalho da solicitação | Descrição |
---|---|
Tipo de conteúdo | aplicativo/json |
Autorização | Token SAS gerado conforme especificado na Autenticação de Assinatura de Acesso Compartilhado com o Barramento de Serviço. |
x-ms-version | 2015-01 |
Corpo da solicitação
A tabela a seguir descreve as propriedades do corpo da solicitação JSON para instalações:
Nome | Type | Obrigatório | Somente leitura | Descrição |
---|---|---|---|---|
installationId | String | Sim | Não | Cadeia de caracteres de identificador global exclusivo |
userID | String | Não | Não | Cadeia de caracteres personalizada que contém uma combinação de caracteres alfanuméricos e -_@#.:=. Há uma relação de um a muitos entre UserID e ID de instalação (ou seja, uma ID de usuário pode ser associada a várias instalações) |
lastActiveOn | String | Não | Sim | A data em que a instalação foi inativada pelo PNS. |
expirationTime | String | Não | Sim | Uma cadeia de caracteres que contém a data e a hora em W3C DTF, AAAA-MM-DDThh:mmTZD (por exemplo, 1997-07-16T19:20+01:00)) em que o registro expirará. O valor pode ser definido no nível do hub na criação ou atualização e, por padrão, nunca expira (9999-12-31T23:59:59). |
lastUpdate | String | Ignorado ao atualizar. Retornado ao ler. | Sim | Data no formato W3C da última atualização para esta instalação. |
plataforma | String | Sim | Não | Pode ser {APNS, WNS, MPNS, ADM, GCM}. |
pushChannel | String | Sim | Não | O identificador PNS para esta instalação (se você estiver usando o WNS e o ChannelUri do ApplicationTile). |
expiredPushChannel | Boolean | Ignorado ao atualizar. Retornado ao ler. | Sim | Esse parâmetro será true se o PNS tiver expirado o canal. |
marcas | Matriz de cadeias de caracteres | Não | Não | Uma matriz de marcas. As marcas são cadeias de caracteres conforme definido nas especificações de hub. |
modelos | Objeto JSON | Não | Não | Um objeto JSON que representa um dicionário de templateNames para a descrição do modelo. |
Modelos. {name} | String | Não | Não | Objeto JSON que representa um modelo. |
Modelos. {name}.body | String | Sim, se o modelo estiver presente | Não | Modelo para o corpo da carga de notificação. |
Modelos. {name}.headers | Objeto JSON | Não. Só poderá estar presente se a plataforma for WNS ou MPNS. | Não | Objeto JSON em que cada propriedade é um nome de cabeçalho e o valor é uma expressão de modelo. |
Modelos. {name}.expiry | String | Não. Só poderá estar presente se a plataforma for apns | Não | Avaliação de expressão de modelo no formato de data W3D. |
Modelos. {name}.tags | Matriz de cadeias de caracteres | Não | Não | Matriz de marcas para este modelo. |
secondaryTiles | Objeto JSON | Não. Só poderá estar presente se a plataforma for wns. | Não | Objeto JSON que contém um dicionário de objetos tileId e secondaryTiles. |
secondaryTile. {tileId} | Objeto JSON | Não | Não | Objeto JSON com propriedades push para blocos secundários. |
secondaryTile. {tileId}.pushChannel | String | Sim, se tileId estiver presente | Não | ChannelUri para bloco secundário. |
secondaryTile. {tileId}.tags | Matriz de cadeias de caracteres | Não | Não | Marcas para notificações nativas para o bloco secundário. |
secondaryTile. {tileId}.templates | Objeto JSON | Não | Não | O mesmo que a propriedade templates, mas para cada bloco secundário. |
Observe os seguintes pontos:
- No JSON, a ordem dos elementos não é importante.
- O corpo do modelo deve ser JSON para APNS, GCM, ADM.
- O corpo do modelo deve ser XML para WNS e MPNS (exceto quando bruto).
- Os modelos para WNS devem incluir o cabeçalho X-WNS-Type.
- Os modelos para MPNS devem ter cabeçalhos compatíveis, conforme descrito em Enviar notificações por push para Windows Phone 8.
Alguns exemplos de JSON seguem.
Exemplo para registrar-se com o APNS:
{
"installationId": "12234",
"userID": "MyAmazingUser",
"tags": ["foo", "bar"],
"platform": "apns",
"pushChannel": "ABCDEF-123456-…"
}
Observação
O elemento Tags é opcional.
Exemplo para registrar nativamente com o WNS, incluindo um modelo e nenhuma marca:
{
"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 listagem 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 status HTTP e um conjunto de cabeçalhos de resposta.
Códigos de resposta
Código | Descrição |
---|---|
200 | A instalação foi enfileirada com êxito e é processada em segundo plano. |
400 | Não foi possível criar/substituir a instalação porque a solicitação foi malformada. |
401 | Falha de autorização. A chave de acesso estava incorreta. |
403 | Muitas instalações neste namespace – Instalações não criadas. |
Para obter informações sobre códigos de status, consulte Códigos de status e de erro.
Cabeçalhos de resposta
Cabeçalho de resposta | Descrição |
---|---|
Content-type | aplicativo/json |
Local do conteúdo | O local 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
Excluir uma instalação