Создание или перезапись установки
Этот метод создает или перезаписывает установку.
Запрос
Метод | Универсальный код ресурса (URI) запроса | параметр "Версия HTTP" |
---|---|---|
PUT | https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/{id}?api-version=2015-01 |
HTTP/1.1 |
Заголовки запросов
В следующей таблице перечислены обязательные и необязательные заголовки запросов.
Заголовок запроса | Описание |
---|---|
Content-Type | приложение/json |
Авторизация | Маркер SAS создается, как указано в разделе Проверка подлинности подписанного URL-адреса с помощью служебной шины. |
x-ms-version | 2015-01 |
Текст запроса
В следующей таблице описаны свойства текста запроса JSON для установок.
Имя | Тип | Обязательно | Только для чтения | Описание |
---|---|---|---|---|
installationId | Строка | Да | Нет | Строка глобально уникального идентификатора |
Идентификатор пользователя | Строка | Нет | Нет | Настраиваемая строка, содержащая сочетание буквенно-цифровых символов и -_@#.:=. Существует связь "один ко многим" между идентификатором пользователя и идентификатором установки (т. е. один идентификатор пользователя может быть связан с несколькими установками). |
lastActiveOn | Строка | Нет | Да | Дата, когда установка была отключена PNS. |
expirationTime; | Строка | Нет | Да | Строка, содержащая дату и время в W3C DTF, ГГГГ-ММ-ДДТч:ммTZD (например, 1997-07-16T19:20+01:00)), в которой срок действия регистрации истекает. Значение можно задать на уровне концентратора при создании или обновлении и по умолчанию не истечет (9999-12-31T23:59:59). |
lastUpdate | Строка | Игнорируется при обновлении. Возвращается при чтении. | Да | Дата последнего обновления этой установки в формате W3C. |
platform | Строка | Да | Нет | Может иметь значение {APNS, WNS, MPNS, ADM, GCM}. |
pushChannel | Строка | Да | Нет | Дескриптор PNS для этой установки (если вы используете WNS и ChannelUri applicationTile). |
expiredPushChannel | Логическое | Игнорируется при обновлении. Возвращается при чтении. | Да | Этот параметр имеет значение , true если для PNS истек срок действия канала. |
tags | Массив строк | Нет | Нет | Массив тегов. Теги — это строки, определенные в спецификациях концентратора. |
шаблоны | Объект JSON | Нет | Нет | Объект JSON, представляющий словарь templateNames в описание шаблона. |
Шаблоны. {name} | Строка | Нет | Нет | Объект JSON, представляющий шаблон. |
Шаблоны. {name}.body | Строка | Да, если шаблон присутствует | Нет | Шаблон для текста полезных данных уведомления. |
Шаблоны. {name}.headers | Объект JSON | Нет. Может присутствовать только в том случае, если платформой является WNS или MPNS. | Нет | Объект JSON, где каждое свойство является именем заголовка, а значение — выражением шаблона. |
Шаблоны. {name}.expiry | Строка | Нет. Может присутствовать только в том случае, если платформа является apns | Нет | Выражение шаблона, вычисляющееся в формате W3D даты. |
Шаблоны. {name}.tags | Массив строк | Нет | Нет | Массив тегов для этого шаблона. |
secondaryTiles | Объект JSON | Нет. Может присутствовать только в том случае, если платформа — wns. | Нет | Объект JSON, содержащий словарь объектов tileId и secondaryTiles. |
secondaryTile. {tileId} | Объект JSON | Нет | Нет | Объект JSON со свойствами push-уведомлений для вторичных плиток. |
secondaryTile. {tileId}.pushChannel | Строка | Да, если имеется tileId | Нет | ChannelUri для вторичной плитки. |
secondaryTile. {tileId}.tags | Массив строк | Нет | Нет | Теги для собственных уведомлений на вторичную плитку. |
secondaryTile. {tileId}.templates | Объект JSON | Нет | Нет | То же, что и свойство templates, но для каждой вторичной плитки. |
Обратите внимание на следующие моменты.
- В JSON порядок элементов не важен.
- Текст шаблона должен иметь формат JSON для APNS, GCM, ADM.
- Текст шаблона должен быть XML для WNS и MPNS (за исключением необработанных).
- Шаблоны для WNS должны содержать заголовок X-WNS-Type.
- Шаблоны для MPNS должны иметь совместимые заголовки, как описано в разделе Отправка push-уведомлений для Windows Phone 8.
Ниже приведены некоторые примеры JSON.
Пример регистрации в APNS:
{
"installationId": "12234",
"userID": "MyAmazingUser",
"tags": ["foo", "bar"],
"platform": "apns",
"pushChannel": "ABCDEF-123456-…"
}
Примечание
Элемент Tags является необязательным.
Пример регистрации в WNS в собственном коде, включая шаблон и без тегов:
{
"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"]
}
}
}
Скелетный список многих возможных элементов
{
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"]
}
}
}
}
}
Ответ
Ответ включает код состояния HTTP и набор заголовков ответа.
Коды ответов
Код | Описание |
---|---|
200 | Установка успешно поставлена в очередь и обрабатывается в фоновом режиме. |
400 | Не удалось создать или перезаписать установку, так как запрос был неправильно сформирован. |
401 | Ошибка авторизации. Неправильный ключ доступа. |
403 | Слишком много установок в этом пространстве имен — установки не созданы. |
Сведения о кодах состояний см. в разделе Коды состояний и ошибок.
Заголовки ответов
Заголовок ответа | Описание |
---|---|
Content-type | приложение/json |
Content-Location | Расположение установки в формате: https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/<installationId> |
Текст ответа
Нет.
См. также:
Чтение установки
Обновление установки по идентификатору установки
Удаление установки