Economy v2는 이제 정식 출시(GA)되었습니다. 지원 및 피드백은 PlayFab 포럼을 참조하세요.
요구 사항
- PlayFab 개발자 계정
- UGC가 활성화된 타이틀
API를 통해
이 섹션에서는 Postman Collections을 사용해 PlayFab UGC API와 상호 작용하지만, SDK 중 어느 것이든 사용할 수 있습니다.Blob URL 만들기
- UGC 시스템은 PlayFab Entity 모델과 함께 작동하므로 이러한 API를 호출하려면 세션 티켓 대신 엔터티 토큰을 사용해야 합니다. Postman Collections 빠른 시작에서 타이틀 엔터티 토큰을 얻는 방법을 배울 수 있습니다.
-
UGC 시스템은 Azure Blob Storage를 사용해 타이틀 UGC와 관련된 모든 콘텐츠(파일 및 이미지)를 저장합니다. 콘텐츠를 업로드하려면 먼저 파일 이름과 크기(바이트 단위)를 전달하여 새 blob을 만드는
CreateUploadUrlsAPI를 호출해야 합니다. 예를 들어, 텍스트 파일과 PNG 이미지를 업로드하려면 요청 본문에 다음을 전달합니다. -
응답에는 각 콘텐츠에 대한
Id와Url이 포함됩니다.
각 create 토큰(응답의 “Url” 필드에 반환됨)은 6시간 동안 유효하며, 그 이후에는 blob에 콘텐츠를 업로드할 수 없습니다. blob에 콘텐츠를 업로드하지 않은 경우 서비스에서 정리되며
CreateUploadUrls를 다시 호출하여 새 blob을 만들어야 합니다. 이 URL은 콘텐츠가 초안 아이템에 업로드되어 다른(이제 공개적으로 액세스할 수 있는) URL을 받을 때까지 콘텐츠에 대한 액세스도 허용하지 않습니다.각 blob은 하나의 아이템에만 사용해야 합니다. 콘텐츠 조각이 여러 아이템에서 반복되기를 원한다면 콘텐츠를 다른 blob에 다시 업로드해야 합니다.
Blob에 콘텐츠 업로드
이러한 URL에 콘텐츠를 업로드하는 몇 가지 다른 방법이 있습니다.Postman을 통해
-
CreateUploadUrls호출에서 생성된 URL로PUT요청을 만들고comp: blob및x-ms-blob-type: blockblob을 헤더로 추가합니다. - 그런 다음 본문 유형으로 binary를 선택하여 파일을 업로드할 수 있습니다.
AzCopy를 통해
- 또 다른 옵션은 AzCopy 도구를 사용하는 것입니다. 도구를 다운로드하고 여기에서 AzCopy 시작하기를 확인할 수 있습니다.
-
원하는 터미널에서 다음 매개 변수와 함께 azcopy를 호출합니다.
초안 UGC 만들기
-
이제 파일과 이미지가 성공적으로 업로드되었으므로 콘텐츠와 이미지의 URL을 전달하여
CreateDraftItem을 호출해 초안 카탈로그에 첫 번째 아이템을 만들 수 있습니다.
아이템에 이미지를 업로드할 때 모든 이미지는
Type 매개 변수로 분류되어야 합니다. “Thumbnail” 또는 “Screenshot”일 수 있습니다. 각 아이템은 “Thumbnail” 유형의 이미지 하나로 제한되며 기본적으로 검색은 기본적으로 “Thumbnail” 이미지를(있는 경우) 반환합니다.-
응답은 전달한 메타데이터와 함께 아이템 ID를 반환합니다.
-
이제 초안 카탈로그에 초안 UGC 아이템이 존재합니다! UGC 아이템이 아직 게시되지 않는 한 공개 카탈로그를 통해 검색할 수 없습니다. 다음 API 중 하나를 호출하여 이 UGC 아이템을 찾을 수 있습니다.
CreateDraftItem응답에서 얻은 아이템 ID를 전달하여GetDraftItem- 알려진 아이템 ID 목록을 전달하여
GetDraftItems - 엔터티 ID를 전달하거나 이전 응답의 ContinuationToken을 전달하여 초안 아이템 목록을 페이지로 표시하는
GetEntityDraftItems
즉시 게시하고 싶다면
Publish 필드를 true로 변경할 수 있습니다.- UGC 아이템을 게시할 준비가 되면
PublishDraftItem을 호출하고 (CreateDraftItem응답에서 얻은) 아이템 ID를 전달합니다. - UGC 아이템에 특별히 큰 파일이 여러 개 포함되어 있는 경우 아이템 게시에 다소 시간이 걸릴 수 있으며, 많은 다른 플레이어가 동시에 콘텐츠를 업로드할 때 이 프로세스는 더 많은 시간이 걸릴 수 있습니다.
GetItemPublishStatus를 호출하고 (CreateDraftItem응답에서 얻은) 아이템 ID를 전달하여 게시 상태를 확인할 수 있습니다. 몇 가지 가능한 상태가 있습니다.Succeeded- UGC 아이템이 성공적으로 게시되었습니다.Pending- UGC 아이템이 아직 게시 중입니다.Failed- UGC 아이템 게시가 실패했으며 위반된 콘텐츠가 수정될 때까지 게시되지 않습니다.Unknown- 기본 상태이며 UGC 아이템에PublishDraftItem을 호출하기 전에 반환됩니다.Canceled- 내부 오류가 발생했습니다. 아이템을 다시 게시해 보세요(이 상태가 여러 번 표시되면 PlayFab 엔지니어링 팀에 문의하세요).
- UGC 아이템이 성공적으로 게시되면
SearchItems를 통해 검색하거나 아이템 ID가 있으면GetItem을 통해 직접 가져올 수 있습니다. - 다음을 수행하여 게시 전이나 후에 UGC 아이템을 변경할 수 있습니다.
- (
CreateDraftItem응답에서 얻은) 아이템 ID를 전달하여GetDraftItem을 호출합니다. - UGC 아이템 데이터(
data필드의 모든 내용)를 복사합니다. - 수정된 UGC 아이템 데이터를 전달하여
UpdateDraftItem을 호출합니다. - 파일이나 이미지를 업데이트하려면
CreateUploadUrls를 다시 호출하여 다른 blob을 만들어야 합니다. PublishDraftItem을 호출하여 UGC 아이템을 다시 게시합니다.
- (
Game Manager를 통해
이 섹션에서는 Game Manager 환경 내에서 완전히 UGC 아이템을 만들 것입니다. 코드가 필요 없습니다!초안 카탈로그 아이템 만들기
- Economy > **Catalog (v2)**를 선택하여 UGC 페이지로 이동합니다.
- New Item을 선택합니다.
-
UGC 아이템에 대한 적절한 메타데이터를 입력합니다.
- Files 및 Images 섹션 아래에서 Upload 버튼을 선택하여 적절한 콘텐츠를 업로드합니다.
- Save and publish를 선택합니다.
- 이제 UGC 아이템이 자동으로 초안 아이템으로 만들어지고 공개 카탈로그에 게시됩니다. 이제 다른 게시된 UGC 아이템과 함께 테이블에서 이 아이템을 찾을 수 있습니다.
현재 Game Manager 내에서 초안 아이템이나 게시 상태를 확인할 방법이 없습니다. 이는 API를 통해서만 수행할 수 있습니다.
- 게시된 UGC 아이템을 변경하려면 다음을 수행하여 그렇게 할 수 있습니다.
- 테이블에서 게시된 UGC 아이템을 선택합니다.
- 적절한 편집을 수행합니다.
- Save and publish를 선택합니다.
문제 해결
- Invalid Request - The content type ‘Game Item’ isn’t supported.
- 콘텐츠 유형이 (
GetCatalogConfig/UpdateCatalogConfig을 통해 또는 Game Manager의 Economy Settings 탭에서) 타이틀 구성에 지정되었다면 목록에 Game Item을 추가하거나 타이틀이 이미 지원하는 콘텐츠 유형으로 변경해야 합니다.
- 콘텐츠 유형이 (
- Invalid Request - This title isn’t configured to use this service.
- 현재 타이틀에 UGC가 비활성화되어 있습니다. 타이틀 구성을 업데이트하여 활성화할 수 있습니다(
GetCatalogConfig/UpdateCatalogConfig을 통해, Game Manager의 Economy Settings 탭에서, 또는 Economy > Catalog (Preview) 탭으로 이동하여 Enable을 선택).
- 현재 타이틀에 UGC가 비활성화되어 있습니다. 타이틀 구성을 업데이트하여 활성화할 수 있습니다(
다음 단계
이제 카탈로그에 UGC 아이템이 게시되었습니다!SearchItems를 사용해 플레이어를 위한 콘텐츠 검색 경험을 만들 수 있습니다.
[!div class=“nextstepaction”] Search >
