跳轉到主要內容
本教學課程將帶您了解 PlayFab 與通用 Windows 平台 (UWP) 之間的三個主要整合重點。
我們已建立一個包含範例程式碼的 GitHub 存放庫,用以說明如何整合通用 Windows 平台與 PlayFab。
整合通用 Windows 平台 (UWP) 與 PlayFab 非常簡單。您實際上只需要注意三件事:
  1. 將 Windows Hello 帳戶連結至您的 PlayFab 帳戶。
  2. 透過 Windows Hello 登入玩家。
  3. 驗證從 Windows 市集進行的購買。
讓我們依序說明這三個主題。

將 Windows Hello 帳戶連結至您的 PlayFab 帳戶

將 Windows Hello 帳戶連結至 PlayFab 帳戶的方式有兩種:
  1. 您可以使用 Windows Hello 認證建立新的 PlayFab 帳戶。
  2. 您可以將 Windows Hello 認證連結至現有的 PlayFab 帳戶。
要使用哪一種方式,取決於 Windows Hello 是否為您的主要驗證方式。

使用 Windows 認證建立新帳戶

開始此程序之前,您需要向使用者詢問其 Windows 使用者名稱。 接著您可以依照下列步驟操作:
  1. 呼叫 KeyCredentialManager.RequestCreateAsync,為此使用者產生新的公開金鑰。
  2. 呼叫 CryptographicBuffer.EncodeToBase64String,將上述的 IBuffer 轉換為字串。
  3. 使用下列必要參數呼叫 PlayFabClientAPI.RegisterWithWindowsHello<!— PlayFabClientAPI.RegisterWithWindowsHello —>:
    • Windows 使用者名稱。
    • 上述的 Base 64 編碼公開金鑰。
  4. 假設註冊成功,玩家現在就已登入。您會取回一個工作階段權杖,可用來向所有其他 PlayFab API 驗證玩家。
  5. 此外,您現在可以使用 HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256) 建立雜湊提供者,並呼叫 hashProvider.HashData(publicKey) 對公開金鑰進行雜湊。
  6. 將雜湊後的公開金鑰轉換為 Base 64 編碼字串 (CryptographicBuffer.EncodeToBase64String(publicKeyHash)),並將此字串和使用者名稱儲存在應用程式設定中 (ApplicationData.Current.LocalSettings.Values[“publicKeyHint”])。此公開金鑰提示用於重新登入。
  7. 使用者名稱也應儲存在使用者的本機設定中,以簡化登入。

將 Windows 認證連結至現有的 PlayFab 帳戶

將 Windows 認證連結至現有 PlayFab 帳戶的程序非常類似。差異如下:
  1. 首先,您必須已登入 PlayFab 帳戶。這通常是以匿名方式,使用不安全的裝置識別碼完成。
  2. 然後,依照上一節的步驟操作,但使用 LinkWindowsHello<!— LinkWindowsHello —> 取代 RegisterWithWindowsHello。
  3. 現在,使用者日後就可以使用 Windows 認證登入,並存取或復原其 PlayFab 帳戶。

透過 Windows Hello 登入玩家

將 Windows Hello 認證連結至 PlayFab 帳戶後,您就可以使用這些認證登入。您將需要公開金鑰提示和 Windows 使用者名稱。 請依照下列步驟操作:
  1. 呼叫 PlayFabClientAPI.GetWindowsHelloChallengeAsync<!— PlayFabClientAPI.GetWindowsHelloChallengeAsync —> 以建立簽署挑戰。
  2. 呼叫 CryptographicBuffer.DecodeFromBase64String,為 KeyCredentialManager 建立 IBuffer,讓使用者進行簽署。
  3. 呼叫 var retrieveResult = await KeyCredentialManager.OpenAsync(userId) 以建立金鑰簽署服務。
  4. 取得此使用者的認證:var userCredential = retrieveResult.Credential。
  5. 呼叫 await userCredential.RequestSignAsync(challengeBuffer),讓 Windows 要求使用者為此使用者簽署伺服器的挑戰。
  6. 最後,呼叫 PlayFabClientAPI.LoginWithWindowsHello<!— PlayFabClientAPI.LoginWithWindowsHello —> 以完成程序並登入玩家。
  7. 假設登入成功,玩家現在就已登入。您會取回一個工作階段權杖,可用來向所有其他 PlayFab API 驗證玩家。

透過 Windows 市集進行購買

透過 Windows 市集進行購買,與透過 iOS 或 Android 的購買程序類似。共有兩個階段:
  1. 首先設定市集。
  2. 然後進行購買。

設定市集

Microsoft 已發佈數份說明此程序的文件。例如: 在 Windows 市集中設定應用程式內購買 您也必須確保在 PlayFab 目錄中設定具有相同產品識別碼的對應項目。

進行購買

在市集中設定好項目後,您就可以在應用程式中啟用應用程式內購買。
  1. 在應用程式中進行購買,並務必要求收據。
  2. 您會取回一張收據。
  3. 呼叫 PlayFabClientAPI.ValidateWindowsStoreReceipt 以驗證收據。這會自動將玩家剛購買的項目存入其在 PlayFab 中的庫存。

其他問題

如果您有其他問題,請在我們的論壇中發文。 我們也很樂意聽取您對將遊戲與通用 Windows 平台整合的任何意見反應!
最後修改於 2026年10月8日