설치 만들기 또는 덮어쓰기
이 메서드는 설치를 만들거나 덮어씁니다.
요청
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
PUT | https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/{id}?api-version=2015-01 |
HTTP/1.1 |
요청 헤더
다음 표에서는 필수 요청 헤더와 선택적 요청 헤더에 대해 설명합니다.
요청 헤더 | Description |
---|---|
콘텐츠 형식 | application/json |
권한 부여 | Service Bus를 사용한 공유 액세스 서명 인증에 지정된 대로 생성된 SAS 토큰입니다. |
x-ms-version | 2015-01 |
요청 본문
다음 표에서는 설치에 대한 JSON 요청 본문의 속성을 설명합니다.
이름 | Type | 필수 | 읽기 전용 | Description |
---|---|---|---|---|
installationId | String | 예 | 예 | 전역적으로 고유한 식별자 문자열 |
userID | String | 예 | 예 | 영숫자와 -_@#.:=의 조합을 포함하는 사용자 지정 문자열입니다. UserID와 설치 ID 사이에는 일 대 다 관계가 있습니다(즉, 하나의 사용자 ID를 여러 설치와 연결할 수 있습니다). |
lastActiveOn | String | 예 | 예 | PNS에서 설치를 비활성화한 날짜입니다. |
expirationTime | String | 예 | 예 | 등록이 만료되는 W3C DTF, YYYY-MM-DDThh:mmTZD(예: 1997-07-16T19:20+01:00)의 날짜와 시간을 포함하는 문자열입니다. 값은 만들기 또는 업데이트 시 허브 수준에서 설정할 수 있으며 기본적으로 만료되지 않습니다(9999-12-31T23:59:59). |
lastUpdate | 문자열 | 업데이트할 때 무시됩니다. 읽을 때 반환됩니다. | 예 | 이 설치에 대한 마지막 업데이트의 W3C 형식 날짜입니다. |
platform | String | 예 | 예 | {APNS, WNS, MPNS, ADM, GCM}일 수 있습니다. |
pushChannel | String | 예 | 예 | 이 설치에 대한 PNS 핸들입니다(WNS 및 ApplicationTile의 ChannelUri를 사용하는 경우). |
expiredPushChannel | 부울 | 업데이트할 때 무시됩니다. 읽을 때 반환됩니다. | 예 | 이 매개 변수는 PNS가 채널이 만료된 경우 입니다 true . |
tags | 문자열 배열 | 예 | 예 | 태그 배열입니다. 태그는 허브 사양에 정의된 문자열입니다. |
템플릿 | JSON 개체 | 예 | 예 | 템플릿 설명에 대한 templateNames 사전을 나타내는 JSON 개체입니다. |
템플릿. {name} | String | 예 | 예 | 템플릿을 나타내는 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 개체 | 예 | 예 | 템플릿 속성과 동일하지만 각 보조 타일에 대해 입니다. |
다음 사항에 유의하세요.
- 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 상태 코드 및 응답 헤더 집합이 포함되어 있습니다.
응답 코드
코드 | Description |
---|---|
200 | 설치가 성공적으로 큐에 대기되었으며 백그라운드에서 처리됩니다. |
400 | 요청 형식이 잘못되었기 때문에 설치를 만들거나 덮어쓸 수 없습니다. |
401 | 인증 실패 액세스 키가 잘못되었습니다. |
403 | 이 네임스페이스에 설치가 너무 많습니다. 설치가 만들어지지 않았습니다. |
상태 코드에 대한 자세한 내용은 상태 및 오류 코드를 참조하세요.
응답 헤더
응답 헤더 | Description |
---|---|
Content-type | application/json |
콘텐츠-위치 | 설치 위치 형식: https://{namespace}.servicebus.windows.net/{NotificationHub}/installations/<installationId> |
응답 본문
없음