建立或覆寫安裝
此方法會建立或覆寫安裝。
要求
方法 | 要求 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 | 是 | No | 全域唯一識別碼字串 |
userID | String | No | No | 包含英數位元和 -_@#.:=組合的自訂字串。 UserID 與安裝識別碼 (之間有一對多關聯性,也就是一個使用者識別碼可以與多個安裝相關聯) |
lastActiveOn | String | No | Yes | PNS 停用安裝時的日期。 |
expirationTime | String | No | Yes | 字串,包含 W3C DTF、YYYY-MM-DDThh:mmTZD (例如,1997-07-16T19:20+01:00) ) ,註冊將會過期。 此值可以在建立或更新時于中樞層級設定,而且根據預設,永遠不會 (9999-12-31T23:59:59) 到期。 |
lastUpdate | String | 更新時忽略。 讀取時傳回。 | Yes | 上次更新至此安裝的 W3C 格式日期。 |
平台 | String | 是 | No | 可以是 {APNS、WNS、MPNS、ADM、GCM}。 |
pushChannel | String | 是 | No | 如果您使用 ApplicationTile) 的 WNS 和 ChannelUri,則此安裝的 PNS 控制碼 (。 |
expiredPushChannel | Boolean | 更新時忽略。 讀取時傳回。 | Yes | 如果 PNS 已過期通道,則此參數為 true 。 |
tags | 字串陣列 | No | No | 標記的陣列。 標籤是如中樞規格中所定義的字串。 |
範本 | JSON 物件 | No | No | JSON 物件,代表 templateNames 至範本描述的字典。 |
範本。{name} | String | No | No | 表示範本的 JSON 物件。 |
範本。{name}.body | String | 是,如果範本存在 | No | 通知承載主體的範本。 |
範本。{name}.headers | JSON 物件 | 不會。 只有在平臺為 WNS 或 MPNS 時,才能存在。 | No | JSON 物件,其中每個屬性都是標頭名稱,而值則是範本運算式。 |
範本。{name}.expiry | String | 不會。 只有在平臺是 apns 時,才能出現 | No | 以 W3D 日期格式評估的範本運算式。 |
範本。{name}.tags | 字串陣列 | No | No | 此範本的標籤陣列。 |
secondaryTiles | JSON 物件 | 不會。 只有在平臺為wns 時,才能存在。 | No | JSON 物件,其中包含 tileId 和 secondaryTiles 物件的字典。 |
secondaryTile。{tileId} | JSON 物件 | No | No | JSON 物件,其中包含次要磚的推送屬性。 |
secondaryTile。{tileId}.pushChannel | String | 是,如果 tileId 存在 | No | 適用于次要磚的 ChannelUri。 |
secondaryTile。{tileId}.tags | 字串陣列 | No | No | 次要磚的原生通知標記。 |
secondaryTile。{tileId}.templates | JSON 物件 | No | No | 與 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 |
內容位置 | 安裝位置的格式如下: https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/<installationId> |
回應本文
無。