跳轉到主要內容

教學課程:取得玩家設定檔

在本教學課程中,您將學習如何:
[!div class=“checklist”] * 建立具有顯示名稱的使用者 * 進行玩家設定檔呼叫 * 取得玩家建立時間和上次登入時間 * 為遊戲設定玩家設定檔檢視條件約束 * 透過登入作業取得玩家設定檔

需求

PlayFab Unity3D SDK 支援 Unity Editor 5.3 版 (2015 年 12 月發行) 及更新版本。
在本教學課程中,您需要具備如何為遊戲建立玩家的基本知識,以便對玩家執行 GetPlayerProfile。 如果您不熟悉 Game Manager,也值得閱讀 Game Manager 快速入門,因為我們會在其中設定設定檔條件約束。 本文中的 C# 範例是針對 Unity SDK 撰寫的。Unity SDK 使用事件驅動模型來處理非同步工作。若要使用 C# SDK 執行範例程式碼,您必須修改程式碼以使用非同步 Task 模型。必須修改的方法會在簽章中的方法名稱後附加 Async。例如,Unity SDK 中的 SetObject 在 C# SDK 中會變成 SetObjectAsync。如需詳細資訊,請參閱使用 async 和 await 進行非同步程式設計。

建立具有顯示名稱的使用者

第一步是建立玩家並為使用者新增顯示名稱。此範例將建立顯示名稱為 UnicornTossMaster 的新使用者。
主控台輸出應顯示:

進行玩家設定檔呼叫

下一步是為玩家建立非常基本的設定檔 下列範例使用基本的 GetPlayerProfile 呼叫。
回應包含 PlayerProfileModel 物件,其中包含玩家的顯示名稱 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。
PlayFab Settings * Client Profile Options * Allow client access to profile properties 現在當您呼叫 1CreatePlayerAndUpdateDisplayName 時,它會傳回 PlayerProfileModel 物件,其中包含使用者建立時間、上次登入時間以及顯示名稱 UnicornTossMaster 的資料。

透過登入作業取得玩家設定檔

在大多數情況下,您會希望在玩家登入後立即擷取玩家設定檔資料。PlayFab API 可讓您將登入呼叫和擷取玩家設定檔的呼叫合併為單一呼叫。 下列範例示範如何透過登入要求取得設定檔資訊,並以 LoginWithCustomId 為例。
這適用於每一種登入機制。
最後修改於 2026年10月8日