# 친구 샘플

> Follow this workflow to implement sample Friends project in a game.

다음 내용으로 넘어가기 전에 Unity Hub와 지원되는 버전의 Unity 에디터를 [다운로드](https://unity3d.com/get-unity/download) 및 설치하십시오. Friends 서비스는 다음 Unity 에디터 버전을 지원합니다.

* 버전 2021 이상
  * UI 툴킷 및 Unity GUI 지원
* 버전 2020.3 이상
  * Unity GUI 지원

## 샘플 프로젝트 다운로드##download-the-sample-project

[GitHub에서 Friends 샘플 프로젝트](https://github.com/Unity-Technologies/com.unity.services.samples.friends)를 다운로드하여 지원되는 버전의 Unity 에디터에서 엽니다. Friends 서비스를 활성화하는 동안 샘플 프로젝트를 열어 두어야 합니다.

## Friends 서비스 활성화##enable-the-friends-service

1. Unity Dashboard에 로그인합니다. 아직 계정이 없다면 [UGS(Unity Gaming Services) 시작하기](/services/getting-started.md)를 참고하십시오.
2. **Multiplayer** > **Friends**로 이동합니다. \\


   **Frame:**
   ![](/api/media?file=/friends/media/images/friends-from-multiplayer-menu.png)
3. **Set up Friends**를 선택합니다.
4. 결제 정보를 아직 추가하지 않았다면 Unity Dashboard에서 결제 정보를 추가하라는 창이 표시될 수 있습니다. Friends는 [무료 티어가 있는 PAYG(Pay As You Go) 서비스](https://unity.com/solutions/gaming-services/pricing)이지만, 베타 릴리스 기간 동안은 무료로 제공됩니다.
5. 설정 가이드로 넘어가면 Friends 프로젝트 설정 방법이 안내됩니다.

### 프로젝트를 Unity 에디터와 연결하기##link-your-friends-project-with-the-unity-editor

> **Note:**
>
> **참고**: Unity 엔진을 통해 이미 프로젝트를 연결했다면 이 단계를 생략해도 됩니다. Friends 서비스를 활성화한 다음 프로젝트를 연결할 수도 있습니다.

1. [Unity 에디터에서 프로젝트 연결하기](/services/getting-started.md#link-your-project-in-the-unity-editor)의 지침을 따르십시오.
2. 설정 가이드에서 **Next**를 선택합니다.

### Friends 패키지 설치##install-the-friends-package

1. Unity Editor 버전 **2021 이상** 또는 **2020.3 이상**을 사용할 수 있습니다. 사용할 버전을 Unity Dashboard의 설정 가이드에서 선택한 후 지침을 따릅니다.
2. 완료하면 설정 가이드에서 **Next**를 선택합니다.

### Friends 사용 설정##turn-friends-on

1. 설정 가이드에서 버튼을 **켜기**로 토글하여 Friends를 활성화합니다. 활성화되면 플레이어는 다른 플레이어에게 친구 요청을 보내고 친구 목록을 빌드할 수 있습니다.
2. **Finish**를 선택합니다.

> **Note:**
>
> **참고**: 다른 서비스와 충돌이 발생하는 경우 Friends 서비스를 비활성화하십시오. 언제든지 Friends를 켜거나 끌 수 있습니다.

## 에디터 내에서 샘플 실행하기##running-the-sample-in-editor

다음 지침에 따라 샘플을 로컬로 설정합니다.

1. Unity Hub를 실행합니다.
2. **열기** > **디스크에서 프로젝트 추가하기**를 선택합니다.
3. 로컬 디스크에서 샘플 프로젝트 위치를 선택한 다음 **프로젝트 추가**를 선택합니다.
4. 샘플 프로젝트가 알맞은 에디터 버전과 함께 Unity Hub의 목록에 표시됩니다. 프로젝트를 더블 클릭하여 엽니다. Unity에서 프로젝트가 실행될 때까지 몇 분이 걸릴 수도 있습니다.

## 에셋을 프로젝트로 드래그 앤 드롭하기##drag-and-dropping-the-assets-into-your-project

이 샘플은 프로젝트에서 플러그인으로 작동하므로 Friends를 바로 실행할 수 있습니다.

### 에셋 가져오기##get-the-assets

샘플 프로젝트의 `Assets/FriendsSample/` 폴더 전체를 프로젝트로 드래그하거나 폴더를 `.unitypackage`로 익스포트합니다.

### 종속성 해결##resolving-dependencies

이 프로젝트는 다음과 같은 2개의 비표준 Unity 패키지 종속성에 의존합니다.

* Friends 서비스 SDK
  * 이 SDK를 받으려면 패키지 관리자(**Window** > **Package manager**)로 이동합니다.
  * 창 왼쪽 상단 구석의 작은 + 아이콘을 누르고 **Add package from Git URL** 또는 **Add package by name**을 선택합니다.
  * **com.unity.services.friends**를 입력합니다.
* TextMesh Pro 필수 리소스
  * 이 리소스를 얻으려면 **Window** > **Textmesh Pro** > **Import TMP Essential Resources**로 이동합니다.

### 샘플 에셋 사용하기##using-the-sample-assets

2020.3에서는 샘플이 캔버스 스타일 UI를 지원하며, 2021.1 이상부터는 UIToolkit 스타일 UI를 지원합니다. 샘플 씬을 살펴보면서 계층 구조와 일반 설정을 확인합니다. **RelationshipsManager**를 씬에서 원하는 곳으로 드래그하면 UI가 표시되고 작동할 것입니다.

## 샘플 프로젝트 조작하기##play-with-the-sample-project

이제 Unity 에디터에서 샘플 프로젝트를 열었습니다. 이제 샘플과 상호 작용할 시간입니다.

> **Note:**
>
> **참고**: 계속하기 전에 Unity 에디터에 로그인하고 [Unity 프로젝트를 연결](/services/getting-started.md)해야 합니다.

샘플 프로젝트는 Friends 서비스와 상호 작용하며 다음과 같은 행동을 수행할 수 있는 단순 사용자 인터페이스로 구성되어 있습니다.

* [친구 요청 전송](#send-a-friend-request)
* [친구 요청 수락](#send-a-friend-request)
* [친구 요청 무시](#send-a-friend-request)
* [플레이어 차단](#block-a-player)
* [친구 목록 보기](#view-your-friends-list)
* [차단 목록 보기](#view-your-block-list)
* [플레이어 차단 해제](#unblock-a-player)
* [친구 삭제](#remove-a-friend)
* [상태 정보 상태 설정](#set-your-presence-status)

버튼과 사용자 인터페이스 요소의 의미는 다음 표를 참고하십시오.

|                     |                 |
| ------------------- | --------------- |
| **버튼 이름**           | **설명**          |
| 거부(×)               | 친구 요청 거부        |
| 수락(✔)               | 친구 요청 수락        |
| 차단(-)               | 플레이어 차단         |
| Unblock             | 차단 목록에서 플레이어 제거 |
| Remove              | 친구 목록에서 플레이어 제거 |
| Friends list        | 친구인 플레이어 전체 목록  |
| Block list          | 차단한 플레이어 전체 목록  |
| Friend Request List | 들어오는 친구 요청 목록   |

### 프로젝트 시작하기##start-the-project

샘플 사용자 인터페이스로 상호 작용하기 전에 샘플 씬을 시작해야 합니다.

1. **Project** 탭에서 **Assets** > **Scenes**를 선택합니다.
2. **FriendsSampleUGUI 씬 또는 FriendsSampleUIToolkit 씬**을 더블 클릭합니다. \\


   **Frame:**
   ![](/api/media?file=/friends/media/images/friends-scene.png)
3. Unity 에디터에서 **플레이 모드**로 들어가서 씬을 시작합니다.

씬이 실행된 뒤 샘플 Friends 사용자 인터페이스가 표시됩니다.

### 프로젝트 테스트하기##testing-the-project

이 프로젝트만 테스트하려면 Unity 에디터를 열고 프로젝트 빌드를 열어야 합니다.

1. 빌드 설정을 엽니다(**File** > **Build Settings**).
2. 원하는 플랫폼에 대한 빌드를 선택합니다. (Windows 및 macOS에서 테스트됩니다.)
3. 샘플 씬 중 하나에는 상단 씬이 포함되어야 합니다.
4. 완료되면 빌드와 에디터를 동시에 실행합니다.

### 친구 요청 전송##send-a-friend-request

플레이어의 ID와 **Add Friend** 버튼을 사용하여 다른 플레이어에게 [친구 요청](../concepts/friend-requests)을 보낼 수 있습니다.

1. 프로젝트에서 플레이어 ID를 복사합니다. \\


   **Frame:**
   ![](/api/media?file=/friends/media/images/player-id-screenshot.png)
2. 프로젝트의 빌드로 전환합니다.
3. **Add Friend** 버튼을 선택합니다. \\


   **Frame:**
   ![](/api/media?file=/friends/media/images/add-friend-button-screenshot.png)
4. 프로젝트 플레이어의 ID를 ID 필드에 붙여 넣고 **Add**를 선택합니다. \\


   **Frame:**
   ![](/api/media?file=/friends/media/images/add-friend-screenshot.png)
5. Unity 에디터로 돌아갑니다.
6. **Friend Request List** 버튼을 선택합니다. \\


   **Frame:**
   ![](/api/media?file=/friends/media/images/requests-list-screenshot.png)
7. 빌드 플레이어로부터의 친구 요청을 **수락**하거나 **무시**합니다.

### 플레이어 차단##block-a-player

플레이어로부터 차단당하면 해당 플레이어는 오프라인으로 표시됩니다. 플레이어를 차단하면 해당 플레이어는 차단 목록에 표시됩니다.

다른 플레이어를 [차단](../concepts/block-list)하는 방법은 두 가지입니다. [친구 목록](../concepts/friends-list)에서 차단하거나 받은 친구 요청 상자에서 차단할 수 있습니다.

친구 목록에서 플레이어 차단:

1. **Friends List** 버튼을 선택합니다.
2. 차단하려는 플레이어 이름 옆의 **차단**(**-**) 버튼을 선택합니다.

친구 요청을 보낸 플레이어 차단:

1. **Friend Request list** 버튼을 선택합니다.
2. 차단하려는 플레이어 이름 옆의 **차단**(**-**) 버튼을 선택합니다.

[차단 목록](../concepts/block-list)에서 차단한 플레이어를 보고 차단 해제할 수 있습니다.

### 플레이어 차단 해제##unblock-a-player

[차단 목록을 확인](#view-your-block-list)한 다음 플레이어 이름 옆의 **Unblock** 버튼을 선택하여 해당 플레이어를 차단 해제할 수 있습니다.


**Frame:**
![](/api/media?file=/friends/media/images/unblock-screenshot.png)

### 친구 삭제##remove-a-friend

[친구 목록](../concepts/friends-list)에서 플레이어의 이름 옆에 있는 **Remove friend** 버튼을 선택하여 해당 친구를 삭제할 수 있습니다.

1. **Friends List** 버튼을 선택합니다.
2. **Remove friend** 버튼을 선택합니다.

### 상태 정보 상태 설정##set-your-presence-status

현재 상태 옆의 아래 화살표를 선택한 뒤 새 상태를 선택하여 [상태 정보](../concepts/presence) 상태를 설정할 수 있습니다. 예를 들어 상태를 ONLINE에서 BUSY로 변경하려면 다음 단계를 따릅니다.

INVISIBLE은 자신을 모든 친구에게 오프라인으로 표시하는 특수 상태입니다.

1. ONLINE 옆의 아래 화살표를 선택합니다.
2. **BUSY**를 선택합니다.


**Frame:**
![](/api/media?file=/friends/media/images/set-presence-screenshot.png)

### 활동 상태 설정##set-your-activity-status

**상태 정보 드롭다운**의 오른쪽 텍스트를 선택하여 활동 상태를 설정할 수 있습니다. 예를 들어 현재 플레이 중인 게임 내 플레이어의 활동을 기반으로 커스텀 상태를 설정할 수 있습니다.

1. **In Friends Menu** 텍스트를 선택합니다. 기본 활동 상태입니다.
2. 새 메시지를 입력하고 Enter 키를 누릅니다. Enter 키를 누르면 친구 목록의 사용자가 업데이트된 활동 상태를 볼 수 있습니다.

> **Note:**
>
> **참고**: Friends 서비스는 사용자가 오프라인이 될 때 상태 정보 또는 활동을 자동으로 저장하지 않습니다. 다시 로그인했을 때 동일한 상태 정보 또는 활동을 유지하려면 상태 정보 또는 활동을 로컬로 저장하거나 [Cloud Save](/cloud-save/.md) 같은 데이터 스토리지 서비스를 통해 저장하십시오.

### 친구 목록 보기##view-your-friends-list

**Friends List** 버튼을 선택하여 [친구 목록](../concepts/friends-list)을 볼 수 있습니다.


**Frame:**
![](/api/media?file=/friends/media/images/friends-list-screenshot.png)

### 요청 목록 보기##view-your-request-list

**Request List** 버튼을 선택하여 [친구 요청](../concepts/friend-requests) 목록을 볼 수 있습니다.


**Frame:**
![](/api/media?file=/friends/media/images/requests-list-screenshot.png)

### 차단 목록 보기##view-your-block-list

**Block list** 버튼을 선택하여 [차단 목록](../concepts/block-list)을 볼 수 있습니다.


**Frame:**
![](/api/media?file=/friends/media/images/block-list-screenshot.png)
