跳轉到主要內容
Economy v2 現已正式推出。如需支援與意見反應,請前往 PlayFab 論壇。
本教學課程會逐步引導您透過 API 和 Game Manager UX 發佈含有內容的 UGC,並比快速入門更深入探討細節。

需求

透過 API

在本節中,我們將使用 Postman 集合與 PlayFab UGC API 互動,但您也可以使用我們的任何 SDK。

建立 Blob URL

  • UGC 系統搭配 PlayFab 實體模型運作,因此我們需要使用實體權杖 (而非工作階段票證) 來呼叫這些 API。您可以在 Postman 集合快速入門中了解如何取得遊戲實體權杖。
  • UGC 系統使用 Azure Blob 儲存體來儲存與您遊戲的 UGC 相關聯的所有內容 (檔案和影像)。若要上傳內容,我們必須先呼叫 CreateUploadUrls API,傳入檔案名稱和大小 (以位元組為單位) 來建立新的 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 作為標頭: Postman 發佈範例
  • 接著,您可以選取 binary 作為 Body 類型來上傳檔案: Postman 上傳二進位檔

透過 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 項目填寫適當的中繼資料: 新的 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 項目!您可以使用 SearchItems 為玩家建立內容探索體驗。
[!div class=“nextstepaction”] 搜尋 >
最後修改於 2026年10月6日