教學課程:取得玩家設定檔
在本教學課程中,您將學習如何:[!div class=“checklist”] * 建立具有顯示名稱的使用者 * 進行玩家設定檔呼叫 * 取得玩家建立時間和上次登入時間 * 為遊戲設定玩家設定檔檢視條件約束 * 透過登入作業取得玩家設定檔
需求
- PlayFab 開發人員帳戶。
- 已安裝的 Unity Editor。若要透過 Unity Hub 安裝供個人使用的 Unity,或供專業使用的 Unity+,請參閱下載 Unity。
PlayFab Unity3D SDK 支援 Unity Editor 5.3 版 (2015 年 12 月發行) 及更新版本。
- Unity 專案 * 可以是下列任一項:
- 全新的專案。如需詳細資訊,請參閱第一次啟動 Unity。
- 引導式教學課程專案。如需詳細資訊,請參閱開始使用 Unity。
- 現有的專案。
- PlayFab Unity3D SDK。
GetPlayerProfile。
如果您不熟悉 Game Manager,也值得閱讀 Game Manager 快速入門,因為我們會在其中設定設定檔條件約束。
本文中的 C# 範例是針對 Unity SDK 撰寫的。Unity SDK 使用事件驅動模型來處理非同步工作。若要使用 C# SDK 執行範例程式碼,您必須修改程式碼以使用非同步 Task 模型。必須修改的方法會在簽章中的方法名稱後附加 Async。例如,Unity SDK 中的 SetObject 在 C# SDK 中會變成 SetObjectAsync。如需詳細資訊,請參閱使用 async 和 await 進行非同步程式設計。
建立具有顯示名稱的使用者
第一步是建立玩家並為使用者新增顯示名稱。此範例將建立顯示名稱為UnicornTossMaster 的新使用者。
進行玩家設定檔呼叫
下一步是為玩家建立非常基本的設定檔 下列範例使用基本的 GetPlayerProfile 呼叫。UnicornTossMaster。
取得玩家建立時間和上次登入時間
PlayerProfileModel 物件中有相當多關於玩家的資料。在上一個步驟中,發出了GetPlayerProfile,而收到的回應只包含顯示名稱資訊。
下一步是取得玩家更多的設定檔資料。若要這麼做,請在 PlayerProfileViewConstraints 要求參數中加入其他欄位來呼叫 GetPlayerProfile。
下列 C# 範例修改步驟 2 中的 GetPlayerProfile 方法,並在 ProfileConstraints 中設定 Created 和 LastLogin 欄位的旗標,以呼叫 GetPlayerProfile 要求這些欄位。
在此步驟中,這將是一次不成功的呼叫!!!
Error Code 1303、RequestViewConstraintParamsNotAllowed 錯誤,以及一則指出有 Invalid view constraints 的錯誤訊息,並附上遊戲目前所設定之條件約束的 JSON 輸出。
發生此錯誤是因為您尚未在遊戲的設定檔條件約束設定中,設定顯示 Created 和 LastLogin 的能力。
為遊戲設定玩家設定檔檢視條件約束
若要在呼叫 GetPlayerProfile API 時取得更多資料,您需要設定可用資料的條件約束。這些設定位於 Game Manager 中遊戲的設定內。 根據預設,ALLOW CLIENT ACCESS TO PROFILE PROPERTIES: 只啟用了 Display name,這讓您可以擷取 Display Name 值。 若要為遊戲設定其他條件約束:- 在 Game Manager 中,選取您的遊戲。
- 選取左上角的齒輪圖示,然後選取 Title settings。
- 選取 Client Profile Options 索引標籤。
- 若要在 ProfileConstraints 中同時啟用 Created 和 LastLogin,請勾選 Creation date 和 Last login time,然後選取 SAVE CLIENT PROFILE OPTIONS。

CreatePlayerAndUpdateDisplayName 時,它會傳回 PlayerProfileModel 物件,其中包含使用者建立時間、上次登入時間以及顯示名稱 UnicornTossMaster 的資料。
透過登入作業取得玩家設定檔
在大多數情況下,您會希望在玩家登入後立即擷取玩家設定檔資料。PlayFab API 可讓您將登入呼叫和擷取玩家設定檔的呼叫合併為單一呼叫。 下列範例示範如何透過登入要求取得設定檔資訊,並以LoginWithCustomId 為例。
這適用於每一種登入機制。
