你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
创建或覆盖安装
此方法创建或覆盖安装。
请求
方法 | 请求 URI | HTTP 版本 |
---|---|---|
PUT | https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/{id}?api-version=2015-01 |
HTTP/1.1 |
请求标头
下表介绍必需的和可选的请求标头。
请求标头 | 说明 |
---|---|
Content-Type | application/json |
授权 | 使用 服务总线进行共享访问签名身份验证中指定的生成的 SAS 令牌。 |
x-ms-version | 2015-01 |
请求正文
下表描述了用于安装的 JSON 请求正文的属性:
名称 | 类型 | 必需 | 只读 | 说明 |
---|---|---|---|---|
installationId | String | 是 | 否 | 全局唯一标识符字符串 |
userID | String | 否 | 否 | 包含字母数字字符和 -_@#.:=组合的自定义字符串。 UserID 与安装 ID 之间存在一对多关系 (即一个用户 ID 可与多个安装相关联) |
lastActiveOn | 字符串 | 否 | 是 | PNS 使安装停用的日期。 |
expirationTime | String | 否 | 是 | 包含 W3C DTF、YYYY-MM-DDThh:mmTZD (的日期和时间的字符串,例如,1997-07-16T19:20+01:00) ) ,其中注册将过期。 可以在创建或更新时在中心级别设置该值,默认情况下, (9999-12-31T23:59:59:59) 过期。 |
lastUpdate | 字符串 | 更新时忽略。 读取时返回。 | 是 | 此安装的上次更新的 W3C 格式的日期。 |
平台 | 字符串 | 是 | 否 | 可以是 {APNS、WNS、MPNS、ADM、GCM}。 |
pushChannel | String | 是 | 否 | 如果使用 WNS 和 ApplicationTile) 的 ChannelUri,则此安装的 PNS 句柄 (。 |
expiredPushChannel | 布尔 | 更新时忽略。 读取时返回。 | 是 | 如果 PNS 已过期通道,则此参数为 true 。 |
标记 | 字符串数组 | 否 | 否 | 标记数组。 标记是中心规范中定义的字符串。 |
模板 | JSON 对象 | 否 | 否 | 一个 JSON 对象,表示模板名称到模板说明的字典。 |
模板。{name} | 字符串 | 否 | 否 | 表示模板的 JSON 对象。 |
模板。{name}.body | 字符串 | 是(如果存在模板) | 否 | 通知有效负载正文的模板。 |
模板。{name}.headers | JSON 对象 | 错误。 仅当平台为 WNS 或 MPNS 时,才能存在。 | 否 | JSON 对象,其中每个属性都是标头名称,值是模板表达式。 |
模板。{name}.expiry | 字符串 | 否。 仅当平台为 apns 时,才能存在 | 否 | 以 W3D 日期格式计算的模板表达式。 |
模板。{name}.tags | 字符串数组 | 否 | 否 | 此模板的标记数组。 |
secondaryTiles | JSON 对象 | 错误。 仅当平台为 wns 时,才能存在。 | 否 | 包含 tileId 和 secondaryTiles 对象的字典的 JSON 对象。 |
secondaryTile。{tileId} | JSON 对象 | 否 | 否 | 具有辅助磁贴的推送属性的 JSON 对象。 |
secondaryTile。{tileId}.pushChannel | 字符串 | 是,如果 tileId 存在 | 否 | 辅助磁贴的 ChannelUri。 |
secondaryTile。{tileId}.tags | 字符串数组 | 否 | 否 | 用于向辅助磁贴发送本机通知的标记。 |
secondaryTile。{tileId}.templates | JSON 对象 | 否 | 否 | 与 templates 属性相同,但对于每个辅助磁贴。 |
请注意以下几点:
- 在 JSON 中,元素的顺序并不重要。
- APNS、GCM、ADM 的模板正文必须是 JSON。
- WNS 和 MPNS (模板正文必须是 XML,原始) 除外。
- WNS 的模板必须包含 X-WNS-Type 标头。
- MPNS 的模板必须具有兼容的标头,如为 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 | application/json |
Content-Location | 安装位置的格式为: https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/<installationId> |
响应正文
无。