教程:使用 CloudScript 上下文模型
PlayFab 通过多种机制执行脚本,包括通过 API 执行、通过计划任务执行、通过 PlayStream 事件执行,以及在玩家进入和退出分段时执行。在许多情况下,脚本执行时所处的上下文对于它的运行方式非常重要。一个例子是知道正在为其运行脚本的玩家的 Player ID。运行脚本的上下文决定了可用的数据模型,并提供了脚本中使用的特定于上下文的数据。 在本教程中,你将学习如何:[!div class=“checklist”]
- 使用共享的上下文模型 * 通过 ExecuteFunction API 执行时使用上下文模型。* 通过计划任务执行时使用上下文模型。* 在玩家上下文中执行时使用上下文模型。* 在实体上下文中执行时使用上下文模型。
使用共享的 Title Authentication 上下文模型
无论使用何种方法执行脚本,始终会提供 Title Authentication 上下文。这包括用于执行脚本的 Title ID 和 Entity Token(有关更多详细信息,请参阅 GetEntityToken)。了解此上下文可让你在脚本中使用 Server API 对 PlayFab 进行额外的 API 调用。通过 ExecuteFunction API 执行时使用上下文模型
当你使用 ExecuteFunction API 执行脚本时,提供的上下文包括以下信息:- 调用方的实体配置文件
- Title Authentication 上下文
- 一个布尔值,指示是否在执行的函数一部分中发送 PlayStream 事件
- 调用脚本时使用的函数参数
通过计划任务执行时使用上下文模型
当你使用计划任务执行脚本时,提供的上下文包括以下信息:- 计划任务的名称 ID
- 包含 PlayStream 事件堆栈的事件历史
- Title Authentication 上下文
- 一个布尔值,指示是否在执行的函数一部分中发送 PlayStream 事件
- 调用脚本时使用的函数参数
在玩家上下文中执行时使用上下文模型
在通过玩家 PlayStream 事件、进入或离开分段,或作为基于分段的计划任务的一部分执行脚本时,提供的上下文包括以下信息:- 玩家配置文件
- 指示玩家配置文件是否被截断的布尔值。
- 如果玩家配置文件超过 2048 字节,它将被截断。发生这种情况时,你需要使用配置文件 API(服务器、客户端或实体 API)来检索完整的配置文件。
- 触发脚本的 PlayStream 事件。
- 一个布尔值,指示是否在执行的函数一部分中发送 PlayStream 事件
- 调用脚本时使用的函数参数
通过实体 PlayStream 事件、进入或离开实体分段,或作为基于实体分段的计划任务的一部分执行时使用上下文模型
在通过实体 PlayStream 事件、进入或离开实体分段,或作为基于实体分段的计划任务的一部分执行脚本时,提供的上下文包括以下信息:- 实体配置文件
- 触发脚本的 PlayStream 事件。
- 一个布尔值,指示是否在执行的函数一部分中发送 PlayStream 事件
