다음을 통해 공유


사용자 생성 콘텐츠(UGC) 빠른 시작

이 가이드의 목적은 서비스-서비스 직접 호출을 사용하여 UGC를 빠르게 시작하는 방법을 설명하는 것입니다. 초안 UGC 콘텐츠 항목에 연결하고, 해당 항목을 게시한 다음 검색하여 찾는 방법을 단계별로 보여 드리겠습니다.

엔터티 토큰 가져오기

UGC는 PlayFab 엔터티와 협력하도록 고안되었으므로 그 첫 단계는 LoginWithCustomID를 사용하여 엔터티 토큰을 가져오는 것입니다. 서비스 호출로서의 단계 설명:

{
  "CustomId": "exampleUser",
  "CreateAccount": true,
  "TitleId": "DC7B"
}

UGC 아이템 초안 만들기

"Type":"ugc" 매개 변수로 CreateDraftItem API를 호출하여 "초안" UGC 항목을 생성합니다. 초안 아이템은 게시됨 상태로 이동하기 전에 작성자가 검토하고 액세스하도록 설계되었습니다. 필요한 아이템 초안을 만드는 방법:

  • X-EntityToken 헤더의 이전 호출에서 EntityToken.
  • 항목의 CreatorEntityKey.Id에 있는 이전 호출의 Entity.Id.
  • 항목의 sourceId에 있는 타이틀에 대한 TitleId.

이 호출의 모양은 다음과 같습니다.

{
  "Item": {
   "Type": "ugc",
    "Title": {
      "NEUTRAL": "Neutral Title Test",
      "en-GB": "en-gb Title",
      "en-US": "en-us Title"
    },
    "Description": {
      "NEUTRAL": "Neutral Description Test",
      "en-GB": "en-gb Description",
      "en-US": "en-us Description"
    },
    "startDate": "2018-10-18T20:01:26.1520582Z"
  }
}

그러면 생성된 초안 항목을 Id와 반환합니다. 나중에 이 Id을(를) 계속 추적할 것입니다.

       "Item": {
            "SourceEntity": {
                "Id": "1184A",
                "Type": "title",
                "TypeString": "title"
            },
            "SourceEntityKey": {
                "Id": "1184A",
                "Type": "title",
                "TypeString": "title"
            },
            "Id": "44857e2b-c93b-4054-80be-7890028201ff",
            "Type": "ugc",
            "Title": {
              "NEUTRAL": "Neutral Title Test",
              "en-GB": "en-gb Title",
              "en-US": "en-us Title"
            },
          ...
        }

플레이어의 초안 항목 ID 가져오기

특정 플레이어에 대한 초안 항목 ID를 가져오기 위해 GetEntityDraftItems API를 사용할 수 있습니다. 타이틀 엔터티는 Entity 매개 변수에서 플레이어 ID를 사용하여 이 API를 호출할 수 있으며, API는 해당 특정 플레이어에 대한 초안 항목 목록을 반환합니다. 타이틀 엔터티만 Entity 매개 변수를 전달할 수 있습니다. 플레이어 엔터티는 Entity 매개 변수 없이 API를 호출할 수 있으며 API는 호출하는 플레이어가 만든 초안 항목 목록을 반환합니다.

{
  "Count": 2,
  "Entity": {
    "Id": "C88F55C6A734B1DC",
    "Type": "title_player_account",
    "TypeString": "title_player_account"
  }
}

UGC 아이템 게시

아이템이 초안에 있으면 귀하는 PublishDraftItem을 사용해 그것을 게시 완료 상태로 푸시할 수 있습니다. UGC 항목이 게시되면 일반적으로 검색이 가능하고 공개적으로 사용할 수 있습니다. CreateDraftItem 응답에서 반환된 Id 항목을 사용해야 합니다.

{
"Id": "44857e2b-c93b-4054-80be-7890028201ff"
}

UGC 항목의 게시 완료 상태 가져오기

Id 항목을 사용하면 GetItemPublishStatus API를 사용하여 UGC 카탈로그의 항목에 대한 게시 상태를 가져올 수 있습니다.

{
"Id": "44857e2b-c93b-4054-80be-7890028201ff"
}

가능한 게시 Result 값은 다음과 같습니다.

  • Unknown
  • Pending
  • Succeeded
  • Failed
  • Canceled

항목을 다시 게시하면 현재 초안 항목과 일치하도록 게시된 항목이 업데이트됩니다.

게시 호출이 성공하면 퍼블릭 카탈로그를 통해 모든 플레이어가 항목에 액세스할 수 있습니다. SearchItemsAPI는 제공된 매개 변수를 사용하여 게시된 카탈로그(UGC 항목 포함)에 대해 검색을 실행하고 페이지를 매긴 결과 집합을 반환합니다. Filter, OrderBySelect 필드는 OData를 쿼리 표준으로 사용합니다.

{
  "Search": "Test",
  "Count": 2
}