# 채팅 마커 설정

> Set chat markers to track message read status.

채팅 마커 API를 사용하면 채팅 마커 생성을 제어할 수 있습니다. 채팅 마커를 사용하여 메시지를 읽음으로 표시할 수 있습니다. 또한 대화 목록 API에 대한 데이터도 제공합니다. 이 기능은 채널과 다이렉트 메시지 모두에서 작동합니다.

대화의 읽음 마커를 설정하려면 애플리케이션에 로그인하고 [`VivoxService.Instance.SetMessageAsReadAsync()`](https://docs.unity3d.com/Packages/com.unity.services.vivox@latest/index.html?subfolder=/api/Unity.Services.Vivox.IVivoxService.html#Unity_Services_Vivox_IVivoxService_SetMessageAsReadAsync_Unity_Services_Vivox_VivoxMessage_System_Nullable_System_DateTime__)를 사용합니다. 이 메서드는 `VivoxMessage` 입력을 사용하여 대화의 유형과 메시지를 읽음으로 설정할 메시지의 `MessageId`를 결정합니다. 또한 제공된 `VivoxMessage` 중 `MessageId`에 해당 대화에 대한 읽음 체크포인트를 설정합니다.

> **Note:**
>
> URI나 메시지가 존재하지 않는 경우에도 마커가 생성됩니다. 나중에 이 정보는 대화 API를 강화하기 위해 사용됩니다.

다음은 채팅 마커를 설정하는 방법의 예제를 보여 주는 코드입니다.

```text
DateTime seenAt = DateTime.Now; // Optional timestamp for when the message was seen. Default is DateTime.Now converted to UTC.
var readMessage = await VivoxService.Instance.SetMessageAsReadAsync(message, seenAt);
```

`IsRead` 프로퍼티가 true로 설정된 `VivoxMessage`는 완료 시 반환됩니다.

`VivoxMessage` 인스턴스는 수동으로 생성할 수 없으므로 [`VivoxService.Instance.SetMessageAsReadAsync()`](https://docs.unity3d.com/Packages/com.unity.services.vivox@latest/index.html?subfolder=/api/Unity.Services.Vivox.IVivoxService.html#Unity_Services_Vivox_IVivoxService_SetMessageAsReadAsync_Unity_Services_Vivox_VivoxMessage_System_Nullable_System_DateTime__)에 대한 입력은 클라이언트에 `VivoxMessage`를 제공하는 SDK의 이벤트 또는 메서드 중 하나에서 나와야 합니다. 다음은 `VivoxService.Instance.SetMessageAsReadAsync()`에 대한 입력으로 사용할 수 있는 `VivoxMessage` 인스턴스를 제공하는 이벤트와 메서드의 몇 가지 예입니다.

```text
// Events
ChannelMessageReceived;
ChannelMessageEdited;
ChannelMessageDeleted;
DirectedMessageReceived;
DirectedMessageDeleted;
DirectedMessageEdited;
```

```text
// Methods
GetChannelTextMessageHistoryAsync();
GetDirectTextMessageHistoryAsync();
```
