用户生成内容 (UGC) 快速入门
本指南旨在解释如何使用直接的服务到服务调用快速上手 UGC。我们将逐步向你展示如何连接到草稿 UGC 内容物品、发布这些物品,然后搜索并找到它们。获取实体令牌
UGC 设计为与 PlayFab 实体协同工作,因此第一步是使用 LoginWithCustomID 获取实体令牌。此示例展示了一个服务调用。创建 Blob URL
UGC 系统使用 Azure Blob 存储来存储与你游戏 UGC 关联的所有内容(文件和图片)。要上传内容,我们首先需要调用 CreateUploadUrls API,传入文件名和大小(以字节为单位)以创建新的 blob。例如,如果你想上传一个文本文件和一个 PNG 图片,你需要在请求正文中传入以下内容:Id 和 Url:
创建 UGC 草稿物品
你可以通过带有"Type":"ugc" 参数调用 CreateDraftItem API 来创建“草稿”UGC 物品。创作者在发布草稿物品之前可以审阅和访问它们。要创建草稿物品,你需要:
- 上一次调用返回的
EntityToken,放入 X-EntityToken 标头中。 - 上一次调用返回的
Entity.Id,放入物品的CreatorEntityKey.Id中。 - 该游戏的
TitleId,放入物品的 sourceId 中。
Id 的已创建草稿物品。保存该 Id,以便之后使用。
获取某个玩家的草稿物品 ID
要获取特定玩家的草稿物品 ID,可以使用 GetEntityDraftItems API。Title 实体可以在Entity 参数中带上玩家 ID 调用此 API,API 将返回该特定玩家的草稿物品列表。只有 Title 实体才能传入 Entity 参数。玩家实体可以在不带 Entity 参数的情况下调用该 API,API 将返回由调用方玩家创建的草稿物品列表。
发布 UGC 物品
物品进入草稿状态后,你可以使用 PublishDraftItem 将其推送到已发布状态。UGC 物品一经发布,即可搜索并公开可用。你需要使用来自CreateDraftItem 响应中返回的物品 Id。
获取 UGC 物品的发布状态
使用物品Id,你可以通过 GetItemPublishStatus API 获取 UGC 目录中某个物品的发布状态。
Result 值如下:
UnknownPendingSucceededFailedCanceled
执行搜索
发布调用成功后,所有玩家都可以在公共目录中访问该物品。SearchItems API 使用提供的参数针对已发布目录(包括 UGC 物品)执行搜索,并返回一组分页结果。Filter、OrderBy 和 Select 字段使用 OData 作为查询标准。
