教學課程:使用 CloudScript 內容模型
PlayFab 透過多種機制執行指令碼,包括透過 API 執行、透過已排程的工作執行、透過 PlayStream 事件執行,以及在玩家進入和離開區段時執行。在許多情況下,指令碼執行時所處的內容對其執行方式很重要。例如,需要知道代表哪位玩家執行指令碼的玩家識別碼。指令碼執行時所處的內容決定了可用的資料模型,並提供指令碼中所使用的內容特定資料。 在本教學課程中,您將了解如何:[!div class=“checklist”]
- 使用共用內容模型 * 透過 ExecuteFunction API 執行時使用內容模型。* 透過已排程的工作執行時使用內容模型。* 在玩家的內容中執行時使用內容模型。* 在實體的內容中執行時使用內容模型。
使用共用遊戲驗證內容模型
無論執行指令碼的方法為何,一律會提供遊戲驗證內容。這包括用來執行指令碼的遊戲識別碼和實體權杖 (如需詳細資料,請參閱 GetEntityToken)。了解此內容可讓您在指令碼中使用伺服器 API 對 PlayFab 進行其他 API 呼叫。透過 ExecuteFunction API 執行時使用內容模型
當您使用 ExecuteFunction API 執行指令碼時,提供的內容包括下列資訊:- 呼叫端的實體設定檔
- 遊戲驗證內容
- 表示是否在執行函式時傳送 PlayStream 事件的布林值
- 呼叫指令碼時使用的函式引數
透過已排程的工作執行時使用內容模型
當您使用已排程的工作執行指令碼時,提供的內容包括下列資訊:- 已排程工作的名稱識別碼
- 包含 PlayStream 事件堆疊的事件歷程記錄
- 遊戲驗證內容
- 表示是否在執行函式時傳送 PlayStream 事件的布林值
- 呼叫指令碼時使用的函式引數
在玩家的內容中執行時使用內容模型
透過玩家 PlayStream 事件、進入或離開區段,或作為以區段為基礎之已排程工作的一部分執行指令碼時,提供的內容包括下列資訊:- 玩家設定檔
- 表示玩家設定檔是否遭到截斷的布林值。
- 如果玩家設定檔超過 2048 個位元組,就會遭到截斷。如果發生這種情況,您需要使用設定檔 API (伺服器、用戶端或實體 API) 來擷取完整的設定檔。
- 觸發指令碼的 PlayStream 事件。
- 表示是否在執行函式時傳送 PlayStream 事件的布林值
- 呼叫指令碼時使用的函式引數
透過實體 PlayStream 事件、進入或離開實體區段,或作為以實體區段為基礎之已排程工作的一部分執行時使用內容模型
透過實體 PlayStream 事件、進入或離開實體區段,或作為以實體區段為基礎之已排程工作的一部分執行指令碼時,提供的內容包括下列資訊:- 實體設定檔
- 觸發指令碼的 PlayStream 事件。
- 表示是否在執行函式時傳送 PlayStream 事件的布林值
