> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# REST를 통한 사용자 Presence 업데이트

> TitleRequest, ActivityRequest 및 RichPresenceRequest 필드를 포함하여 Write Title URI로 XBOX Live Rich Presence를 업데이트하기 위한 REST 참조입니다.

이 항목에서는 Rich Presence 문자열을 업데이트하기 위한 예제 코드를 제공합니다.

타이틀에서 Rich Presence 문자열을 업데이트하려면 JSON 개체의 적절한 매개 변수와 함께 `Write Title` URI를 호출합니다.

이 RESTful 호출은 XBOX Service API(XSAPI)로도 래핑됩니다.
이 호출과 관련된 API에 대한 자세한 내용은 [XblPresenceSetPresenceAsync](/reference/live/xsapi-c/presence_c/functions/xblpresencesetpresenceasync)를 참조하세요.

URI는 다음과 같습니다.

```uri theme={null}
POST /users/xuid({xuid})/devices/current/titles/current
```

다음 필드는 Rich Presence 문자열을 설정하기 위한 것입니다.
다른 선택적 필드는 타이틀의 presence를 작성하는 것과 관련되지만 이 항목에서는 나열되지 않습니다.

## TitleRequest 개체

| Property | Type            | Required | Description                                                                                        |
| -------- | --------------- | -------- | -------------------------------------------------------------------------------------------------- |
| Activity | ActivityRequest | No       | The record that describes in-title information (Rich Presence and media information, if available) |

## ActivityRequest 개체

| Property     | Type                | Required | Description                                         |
| ------------ | ------------------- | -------- | --------------------------------------------------- |
| richPresence | RichPresenceRequest | No       | The friendlyName of the Rich Presence string to use |

## RichPresenceRequest 개체

| Property | Type   | Required | Description                                                     |
| -------- | ------ | -------- | --------------------------------------------------------------- |
| Id       | String | Yes      | The friendlyName of the Rich Presence string to use             |
| Scid     | String | Yes      | The scid that tells where the Rich Presence strings are defined |

예를 들어, xuid가 12345인 사용자의 Rich Presence를 업데이트하려면 호출은 다음과 같습니다.

```uri theme={null}
POST /users/xuid(12345)/devices/current/titles/current
```

다음과 같은 JSON 본문을 가집니다.

```json theme={null}
          {
            activity:
            {
              richPresence:
              {
                id:"playingMap",
                scid:"0000-0000-0000-0000-01010101"
              }
            }
          }
```

래퍼 API를 사용하면 이는 [XblPresenceSetPresenceAsync](/reference/live/xsapi-c/presence_c/functions/xblpresencesetpresenceasync)에 대한 호출입니다.

XBOX Player Data를 최신 상태로 유지하고 있다면, 데이터가 변경될 때마다 빈칸을 채우기 위해 Rich Presence 문자열을 다시 설정할 필요가 없습니다.
이전 예제에서는 현재 맵이 사용됩니다.

Presence는 사용자가 현재 값을 채우기 위해 문자열을 읽으려고 할 때 XBOX Player Data에서 데이터를 조회합니다.
사용자가 한 맵에서 다른 맵으로 전환하더라도, XBOX Player Data에 적절한 이벤트를 보내는 한 게임의 Rich Presence 문자열을 재설정할 필요가 없습니다.

XBOX Player Data 시스템을 통해 데이터가 마이그레이션되는 데 몇 초가 걸릴 수 있습니다.

누군가 사용자 12345의 Rich Presence를 읽으려고 하면, 서비스는 요청되는 로케일을 확인하고 반환하기 전에 문자열의 형식을 적절히 지정합니다.
이 경우 사용자가 en-US 문자열을 읽으려 한다고 가정합니다.

Rich Presence 읽기는 다음과 같이 작동합니다.

```uri theme={null}
GET /users/xuid(12345)?level=all
```

이 호출에 대한 자세한 내용은 `GET (/users/xuid({xuid}))`를 참조하세요.

이에 대한 래퍼 API는 [XblPresenceGetPresenceAsync](/reference/live/xsapi-c/presence_c/functions/xblpresencegetpresenceasync) 또는 [XblPresenceGetPresenceForMultipleUsersAsync](/reference/live/xsapi-c/presence_c/functions/xblpresencegetpresenceformultipleusersasync)입니다.

이전 예제에서는 xuid가 12345인 사용자의 `PresenceRecord`를 요청했습니다.
또한 세부 수준이 `all`이 되도록 요청했습니다.

`all`을 지정하지 않으면 Rich Presence가 반환되지 않습니다. 대신 `all`은 JSON 응답에서 다음을 반환합니다.

```json theme={null}
          {
            xuid:"12345",
            state:"online",
            devices:
            [
              {
                type:"D",
                titles:
                [
                  {
                    id:"12345",
                    name:"Buckets are Awesome",
                    lastModified:"2022-08-17T07:15:23.4930000",
                    placement: "full",
                    state:"active",
                    activity:
                    {
                      richPresence:"Playing on map:Mountains"
                    }
                  }
                ]
              }
            ]
          }
```


## Related topics

- [Rich Presence 예제 코드](/ko/services/xbox-services/community/presence/how-to/live-presence-howto-nav.md)
- [XSAPI C를 통한 사용자 Presence 업데이트](/ko/services/xbox-services/community/presence/how-to/live-updating-user-presence.md)
- [제품 변경 및 콘텐츠 업데이트](/ko/publishing/game-publishing/publishing-processes/managed-creators/publishing-processes-post-release-lifecycle.md)
- [Multiplayer Session Directory 개요](/ko/services/xbox-services/multiplayer/mpsd/live-mpsd-overview.md)
- [MSIXVC2를 사용한 콘텐츠 업데이트](/ko/build/core-features/common/packaging/packaging-updates-msixvc2.md)
