Economy v2 現已正式推出。如需支援與意見反應,請前往 PlayFab 論壇。
需求
- PlayFab 開發人員帳戶
- 已啟用 UGC 的遊戲
透過 API
在本節中,我們將使用 Postman 集合與 PlayFab UGC API 互動,但您也可以使用我們的任何 SDK。建立 Blob URL
- UGC 系統搭配 PlayFab 實體模型運作,因此我們需要使用實體權杖 (而非工作階段票證) 來呼叫這些 API。您可以在 Postman 集合快速入門中了解如何取得遊戲實體權杖。
-
UGC 系統使用 Azure Blob 儲存體來儲存與您遊戲的 UGC 相關聯的所有內容 (檔案和影像)。若要上傳內容,我們必須先呼叫
CreateUploadUrlsAPI,傳入檔案名稱和大小 (以位元組為單位) 來建立新的 Blob。例如,如果我想上傳一個文字檔和一個 PNG 影像,我會在要求主體中傳入下列內容: -
回應會包含每個內容的
Id和Url:
每個建立權杖 (在回應的 “Url” 欄位中傳回) 的有效期限為 6 小時,之後您將無法將內容上傳至該 Blob。如果您沒有將任何內容上傳至 Blob,我們的服務會將其清除,您必須再次呼叫
CreateUploadUrls 來建立新的 Blob。在內容上傳至草稿項目並取得另一個 (可公開存取的) URL 之前,此 URL 也無法用來存取內容每個 Blob 只應在一個項目中使用。如果您希望在多個項目中重複使用某個內容,應將該內容重新上傳至不同的 Blob。
將內容上傳至 Blob
有幾種不同的方式可以將您的內容上傳至這些 URL。透過 Postman
-
使用呼叫
CreateUploadUrls所產生的 URL 建立PUT要求,並新增comp: blob和x-ms-blob-type: blockblob作為標頭:
-
接著,您可以選取 binary 作為 Body 類型來上傳檔案:

透過 AzCopy
- 另一個選項是使用 AzCopy 工具。您可以在此下載該工具並開始使用 AzCopy。
-
在您選擇的終端機中,使用下列參數呼叫 azcopy:
建立草稿 UGC
-
現在檔案和影像已成功上傳,您可以呼叫
CreateDraftItem並傳入內容和影像的 URL,在草稿目錄中建立您的第一個項目:
將影像上傳至項目時,每個影像都必須以
Type 參數分類。其值可以是 “Thumbnail” 或 “Screenshot”。每個項目只能有一個 “Thumbnail” 類型的影像,而且根據預設,搜尋會傳回 “Thumbnail” 影像 (如果存在)。-
回應會傳回您傳入的中繼資料,以及項目識別碼:
-
草稿 UGC 項目現在已存在於草稿目錄中!只要 UGC 項目尚未發佈,就無法透過公用目錄搜尋到它。您可以呼叫下列任一 API 來尋找此 UGC 項目:
GetDraftItem,傳入從CreateDraftItem回應取得的項目識別碼GetDraftItems,傳入已知項目識別碼的清單GetEntityDraftItems,傳入實體識別碼,和/或傳入每個先前回應中的 ContinuationToken,以逐頁瀏覽草稿項目清單
如果您想要立即發佈,可以將
Publish 欄位變更為 true- 當您準備好發佈 UGC 項目時,請呼叫
PublishDraftItem,並傳入項目識別碼 (從CreateDraftItem回應取得)。 - 如果您的 UGC 項目包含多個特別大的檔案,發佈項目可能需要一些時間;而當有許多其他玩家同時上傳內容時,此程序可能需要更多時間。您可以呼叫
GetItemPublishStatus並傳入項目識別碼 (從CreateDraftItem回應取得),來檢查發佈狀態。可能的狀態有以下幾種:Succeeded- UGC 項目已成功發佈Pending- UGC 項目仍在發佈程序中Failed- UGC 項目發佈失敗,在修改違規內容之前不會發佈Unknown- 這是預設狀態,在對 UGC 項目呼叫PublishDraftItem之前會傳回此狀態Canceled- 發生內部錯誤,請再次嘗試發佈項目 (如果您多次看到此狀態,請聯絡 PlayFab 工程團隊)
- UGC 項目成功發佈後,您可以透過
SearchItems搜尋它,或者如果您有項目識別碼,也可以透過GetItem直接取得它。 - 您可以在發佈之前或之後執行下列動作來變更 UGC 項目:
- 呼叫
GetDraftItem,傳入項目識別碼 (從CreateDraftItem回應取得) - 複製 UGC 項目的資料 (
data欄位中的所有內容) - 呼叫
UpdateDraftItem,傳入修改後的 UGC 項目資料 - 如果您想要更新任何檔案或影像,需要再次呼叫
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”] 搜尋 >
