インストールを作成または上書きする

このメソッドは、インストールを作成または上書きします。

Request

Method 要求 URI HTTP バージョン
PUT https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/{id}?api-version=2015-01 HTTP/1.1

要求ヘッダー

必須要求ヘッダーと省略可能な要求ヘッダーを次の表に示します。

要求ヘッダー 説明
Content-Type application/json
承認 Service Bus を使用した Shared Access Signature Authentication で指定されたとおりに生成された SAS トークン。
x-ms-version 2015-01

要求本文

次の表では、インストール用の JSON 要求本文のプロパティについて説明します。

名前 Type 必須 読み取り専用 説明
installationId String はい いいえ グローバル一意識別子文字列
userID String いいえ いいえ 英数字と -_@#.:= の組み合わせを含むカスタム文字列。 UserID とインストール ID の間には 1 対多の関係があります (つまり、1 つのユーザー ID を複数のインストールに関連付けることができます)
lastActiveOn String いいえ はい PNS によってインストールが無効になった日付。
expirationTime String いいえ はい 登録の有効期限が切れる W3C DTF、YYYY-MM-DDThh:mmTZD (1997-07-16T19:20+01:00)) の日付と時刻を含む文字列。 この値は、作成または更新時にハブ レベルで設定でき、既定では期限切れになることはありません (9999-12-31T23:59:59)。
lastUpdate String 更新時に無視されます。 読み取り時に返されます。 Yes このインストールに対する最後の更新プログラムの W3C 形式の日付。
プラットフォーム String はい いいえ {APNS、WNS、MPNS、ADM、GCM} を指定できます。
pushChannel String はい いいえ このインストールの PNS ハンドル (WNS と ApplicationTile の ChannelUri を使用している場合)。
expiredPushChannel Boolean 更新時に無視されます。 読み取り時に返されます。 Yes このパラメーターは、 true PNS がチャネルの有効期限が切れた場合です。
tags 文字列の配列 いいえ いいえ タグの配列。 タグは、ハブ スペックで定義されている文字列です。
テンプレートの使用 JSON オブジェクト いいえ いいえ テンプレートの説明に対する templateNames のディクショナリを表す JSON オブジェクト。
テンプレート。{name} String いいえ いいえ テンプレートを表す JSON オブジェクト。
テンプレート。{name}.body String はい(テンプレートが存在する場合) いいえ 通知ペイロードの本文のテンプレート。
テンプレート。{name}.headers JSON オブジェクト いいえ。 プラットフォームが WNS または MPNS の場合にのみ存在できます。 いいえ 各プロパティがヘッダー名であり、値がテンプレート式である JSON オブジェクト。
テンプレート。{name}.expiry String いいえ。 プラットフォームが apns の場合にのみ存在できます いいえ W3D 日付形式で評価されるテンプレート式。
テンプレート。{name}.tags 文字列の配列 いいえ いいえ このテンプレートのタグの配列。
secondaryTiles JSON オブジェクト いいえ。 platform が wns の場合にのみ存在できます。 いいえ tileId オブジェクトと secondaryTiles オブジェクトのディクショナリを含む JSON オブジェクト。
secondaryTile。{tileId} JSON オブジェクト いいえ いいえ セカンダリ タイルのプッシュ プロパティを持つ JSON オブジェクト。
secondaryTile。{tileId}.pushChannel String はい(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-…" 
}  

Note

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"] 
                    } 
                } 
            } 
        }
}  

Response

応答には、HTTP 状態コードおよび一連の応答ヘッダーが含まれています。

応答コード

コード 説明
200 インストールは正常にキューに入れられ、バックグラウンドで処理されます。
400 要求の形式が正しくないため、インストールを作成または上書きできませんでした。
401 認証エラー。 アクセス キーが正しくありませんでした。
403 この名前空間にインストールが多すぎます - インストールが作成されていません。

状態コードの詳細については、「 状態コードとエラー コード」を参照してください。

応答ヘッダー

応答ヘッダー 説明
Content-type application/json
Content-Location インストールの場所を次の形式で指定します。 https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/<installationId>

応答本文

[なし] :

参照

インストールを読み取る
インストール ID でインストールを更新する
インストールを削除する