- 개요
비동기 방식으로 웹을 통해 데이터를 가져오고 전송하는 작업을 수행하는 WebRequests 클래스를 생성한다
해당 클래스를 사용하면 다음의 이점을 얻을 수 있다
- 1) 실시간 업데이트 가능 : 게임을 새로 빌드할 필요없이 웹페이지를 수정하여 게임 내 콘텐츠 수정
- 2) 높은 유연성 : 공지사항, 배너 이미지 등을 외부 서버에서 직접 관리
- 3) 재사용성 : 한 번 만든 클래스와 클래스의 위젯을 여러 프로젝트에서 재사용할 수 있음
- WebRequests 클래스의 구성

WebRequests 클래스는 기본적으로 위와 같이 구성되어 있다
비동기 동작을 위한 코루틴을 사용하기 위해서는 MonoBehaviour를 상속받아야 하는데,
static 클래스는 상속을 받을 수 없으므로 내부 클래스인 WebRequestsMonoBehaviour 클래스를 사용한다
Init 함수를 호출하여 씬에 GameObject를 생성하고 내부 클래스 객체를 설정한다

특정한 웹페이지의 URL로부터 데이터를 가져오는 GET 작업을 수행하는 Get 함수와
비동기적으로 GET 명령을 실행하고 텍스트 결과를 반환하는 GetCoroutine 함수를 위와 같이 정의한다

특정한 웹페이지의 URL에 데이터를 전송하는 POST 작업을 수행하는 Post 함수를 위와 같이 정의한다
총 3가지 버전이 존재한다
- 딕셔너리 인자를 사용하는 Post 함수 : Form Data 형식을 지원하는 함수
- 문자열 인자를 사용하는 Post 함수 : 일반 문자열 형식을 지원하는 함수
- PostJosn 함수 : JSON 파일 형식을 지원하는 함수

비동기적으로 POST 명령을 실행하는 GetCoroutinePost 함수를 위와 같이 정의한다
- 딕셔너리 인자 + 문자열 인자를 사용하는 GetCoroutinePost 함수 : 일반적인 POST 작업의 Form Data 전달
- GetCoroutinePostJson 함수 : 헤더를 "application/json"으로 설정 + JSON 바이트 배열 생성 후에 전달

서버의 리소스를 업데이트하거나 생성하기 위한 PUT 작업을 수행하는 Put 함수를 위와 같이 정의한다
비동기적으로 PUT 명령을 실행하는 GetCoroutinePut 함수를 위와 같이 정의한다

서버에서 이미지를 다운로드하여 유니티의 Texture2D 객체로 변환하여 가져올 GetTexture 함수를 정의한다
비동기적으로 해당 작업을 수행하는 GetTextureCoroutine 함수에서는
DownloadHandlerTexture를 사용하여 웹 페이지에서 다운로드한 데이터를 이미지 파일로 변환한다
'유니티 엔진 > 유니티 엔진의 구성' 카테고리의 다른 글
| 유니티 엔진의 구성 - 38) 래그돌(Ragdoll) (0) | 2026.04.27 |
|---|---|
| 유니티 엔진의 구성 - 37) UI / Effects (0) | 2026.04.22 |
| 유니티 엔진의 구성 - 36) Image 컴포넌트 VS RawImage 컴포넌트 + Sprite 타입 VS Texture 타입 (0) | 2026.04.01 |
| 유니티 엔진의 구성 - 35) Probuilder 불리언 메쉬 컷팅 (0) | 2026.03.31 |
| 유니티 엔진의 구성 - 34) 애니메이션 리깅 (0) | 2026.03.27 |