快速入門:適用於 JavaScript 的 PlayFab 用戶端程式庫
開始使用適用於 JavaScript 的 PlayFab 用戶端程式庫來驗證玩家。請依照步驟安裝套件,並試用基本工作的範例程式碼。必要條件
- PlayFab 開發人員帳戶。如需建立遊戲和尋找 TitleId 的相關資訊,請參閱 Game Manager 快速入門。
JavaScript 專案設定
您必須先擁有 PlayFab 開發人員帳戶,才能呼叫任何 PlayFab API。如需建立遊戲和尋找 TitleId 的相關資訊,請參閱 Game Manager 快速入門。 作業系統:本指南適用於任何能夠執行網頁瀏覽器的作業系統。 若要設定新專案,請建立一個新資料夾,其中包含兩個空白文字檔:PlayFabGettingStarted.htmlPlayFabGettingStarted.js
程式碼範例
本指南提供進行第一次 PlayFab API 呼叫所需的最少步驟。您可以在網頁上看到確認訊息。如需參數和傳回值的詳細資訊,建議您先使用 Postman 範本。驗證用戶端
在您慣用的文字編輯器中,依下列方式更新PlayFabGettingStarted.html 的內容:
PlayFabGettingStarted.js 的內容:
執行程式碼
- 在您慣用的瀏覽器中開啟
PlayFabGettingStarted.html。 - 選取 Call LoginWithCustomID 按鈕。
- 您應該會在 Result 區段中看到下列文字: “Congratulations, you made your first successful API call!”
解構程式碼
本節會詳細說明程式碼的每個部分。 HTML 檔案中有幾行重要的程式碼:PlayFabGettingStarted.js 包含 DoExampleLoginWithCustomID 函式。這幾行會將我們的 js 檔案繫結至網頁,並叫用該指令碼中的 DoExampleLoginWithCustomID 函式。其他部分都只是 GUI。
PlayFabClientSDK 中的函式是以對應的 HTTP 要求命名的。例如,LoginWithCustomID 函式對應的 HTTP 要求也稱為 “LoginWithCustomID”。要求本文會以索引鍵和值的形式封裝在 JavaScript 要求物件中。工作階段票證會在登入時儲存,因此用戶端呼叫不需要納入要求標頭中的工作階段票證。
PlayFabGettingStarted.js的逐行分析-
PlayFab.settings.titleId = "xxxx";- 每位 PlayFab 開發人員都會在 Game Manager 中建立遊戲。當您發佈遊戲時,必須將該 titleId 寫入遊戲程式碼中。這可讓用戶端知道如何存取 PlayFab 中正確的資料。對大多數使用者而言,只要將其視為讓 PlayFab 運作的必要步驟即可。
-
var loginRequest = { TitleId: PlayFab.settings.titleId, CustomId: "GettingStartedGuide", CreateAccount: true };- 大多數 PlayFab API 方法都需要輸入參數,而這些輸入參數會封裝在要求物件中。
- 每個 API 方法都需要唯一的要求物件,其中包含選擇性和必要參數的組合。
- 對於
LoginWithCustomID,有一個必要參數CustomId可唯一識別玩家,還有CreateAccount允許透過此呼叫建立新帳戶。TitleId是 JavaScript 中的另一個必要參數,且必須與PlayFab.settings.titleId相符。 - 如需在何處尋找
TitleId的相關資訊,請參閱 Game Manager 快速入門。
- 對於
-
在此案例中,
TitleId、customId和CreateAccount來自LoginWithCustomID的要求本文。要求本文欄位會以索引鍵和值的形式納入要求物件中。要求標頭中的工作階段票證會在登入時儲存,因此 SessionTicket 不會包含在要求物件中。 -
PlayFabClientSDK.LoginWithCustomID(loginRequest, LoginCallback);- 這會開始對
LoginWithCustomID的非同步要求,並在 API 呼叫完成時呼叫LoginCallback。 - 對於登入,大多數開發人員會想要使用更合適的登入方法。
- 如需所有登入方法和輸入參數的清單,請參閱 PlayFab 登入文件。常見的選擇包括:
- 這會開始對
- 如果您是 JavaScript 新手,建議您先閱讀回呼函式的相關資訊。
-
LoginCallback包含兩個參數:result 和 error- 成功時,error 會是 null,而 result 物件會根據所呼叫的 API 包含所要求的資訊。
- 此 result 包含玩家的一些基本資訊,但對大多數使用者而言,登入只是呼叫其他 API 之前的必要步驟。
-
如果 error 不是
null,表示您的 API 呼叫已失敗。
-
疑難排解
- API 呼叫可能因許多原因而失敗,您應該一律嘗試處理失敗情況。
- error 物件包含錯誤名稱、錯誤碼和錯誤訊息。這些資訊加起來應該足以診斷您的錯誤。
- 您可以在 PlayFab 的全域 API 方法錯誤碼中找到全域 API 方法錯誤碼。
- API 呼叫失敗的原因 (依可能性排序)
- 未設定 PlayFabSettings.TitleId。如果未設定 TitleId,則一切都無法運作。
- 要求參數。如果您沒有為特定 API 呼叫提供正確或必要的資訊,呼叫就會失敗。如需詳細資訊,請參閱
error.errorMessage, error.errorDetails或error.GenerateErrorReport()。 - 裝置連線問題。行動電話會不斷失去/恢復連線,因此任何 API 呼叫都可能隨時隨機失敗,然後又立即恢復正常。進入隧道可能會讓您完全中斷連線。
- PlayFab 伺服器問題。就像所有軟體一樣,可能會發生問題。如需更新資訊,請參閱我們的版本資訊。
- 網際網路並非 100% 可靠。有時訊息會損毀或無法送達 PlayFab 伺服器。
- 如果您在偵錯問題時遇到困難,而錯誤資訊中的內容又不足夠,請造訪我們的論壇。
