共用方式為


建立或覆寫安裝

此方法會建立或覆寫安裝。

要求

方法 要求 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>

回應本文

無。

另請參閱

讀取安裝
依安裝識別碼更新安裝
刪除安裝