インストールを作成または上書きする
このメソッドは、インストールを作成または上書きします。
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> |
応答本文
[なし] :