用户生成内容 (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
重新发布项目将更新"已发布项",以匹配当前草稿项。
执行简单搜索
发布调用成功后,所有玩家都可以通过公共目录访问该项目。 该 SearchItems
API 使用提供的参数对已发布目录(包括 UGC 物品)执行搜索,并返回一组分页结果。
Filter
,OrderBy
和 Select
字段使用 OData 作为查询标准。
{
"Search": "Test",
"Count": 2
}