我們已建立一個包含範例程式碼的 GitHub 存放庫,用以說明如何整合通用 Windows 平台與 PlayFab。
- 將 Windows Hello 帳戶連結至您的 PlayFab 帳戶。
- 透過 Windows Hello 登入玩家。
- 驗證從 Windows 市集進行的購買。
將 Windows Hello 帳戶連結至您的 PlayFab 帳戶
將 Windows Hello 帳戶連結至 PlayFab 帳戶的方式有兩種:- 您可以使用 Windows Hello 認證建立新的 PlayFab 帳戶。
- 您可以將 Windows Hello 認證連結至現有的 PlayFab 帳戶。
使用 Windows 認證建立新帳戶
開始此程序之前,您需要向使用者詢問其 Windows 使用者名稱。 接著您可以依照下列步驟操作:- 呼叫 KeyCredentialManager.RequestCreateAsync,為此使用者產生新的公開金鑰。
- 呼叫 CryptographicBuffer.EncodeToBase64String,將上述的 IBuffer 轉換為字串。
- 使用下列必要參數呼叫
PlayFabClientAPI.RegisterWithWindowsHello<!— PlayFabClientAPI.RegisterWithWindowsHello —>:- Windows 使用者名稱。
- 上述的 Base 64 編碼公開金鑰。
- 假設註冊成功,玩家現在就已登入。您會取回一個工作階段權杖,可用來向所有其他 PlayFab API 驗證玩家。
- 此外,您現在可以使用 HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256) 建立雜湊提供者,並呼叫 hashProvider.HashData(publicKey) 對公開金鑰進行雜湊。
- 將雜湊後的公開金鑰轉換為 Base 64 編碼字串 (CryptographicBuffer.EncodeToBase64String(publicKeyHash)),並將此字串和使用者名稱儲存在應用程式設定中 (ApplicationData.Current.LocalSettings.Values[“publicKeyHint”])。此公開金鑰提示用於重新登入。
- 使用者名稱也應儲存在使用者的本機設定中,以簡化登入。
將 Windows 認證連結至現有的 PlayFab 帳戶
將 Windows 認證連結至現有 PlayFab 帳戶的程序非常類似。差異如下:- 首先,您必須已登入 PlayFab 帳戶。這通常是以匿名方式,使用不安全的裝置識別碼完成。
- 然後,依照上一節的步驟操作,但使用
LinkWindowsHello<!— LinkWindowsHello —> 取代RegisterWithWindowsHello。 - 現在,使用者日後就可以使用 Windows 認證登入,並存取或復原其 PlayFab 帳戶。
透過 Windows Hello 登入玩家
將 Windows Hello 認證連結至 PlayFab 帳戶後,您就可以使用這些認證登入。您將需要公開金鑰提示和 Windows 使用者名稱。 請依照下列步驟操作:- 呼叫
PlayFabClientAPI.GetWindowsHelloChallengeAsync<!— PlayFabClientAPI.GetWindowsHelloChallengeAsync —> 以建立簽署挑戰。 - 呼叫 CryptographicBuffer.DecodeFromBase64String,為
KeyCredentialManager建立 IBuffer,讓使用者進行簽署。 - 呼叫
var retrieveResult = awaitKeyCredentialManager.OpenAsync(userId) 以建立金鑰簽署服務。 - 取得此使用者的認證:
var userCredential = retrieveResult.Credential。 - 呼叫 await userCredential.RequestSignAsync(challengeBuffer),讓 Windows 要求使用者為此使用者簽署伺服器的挑戰。
- 最後,呼叫
PlayFabClientAPI.LoginWithWindowsHello<!— PlayFabClientAPI.LoginWithWindowsHello —> 以完成程序並登入玩家。 - 假設登入成功,玩家現在就已登入。您會取回一個工作階段權杖,可用來向所有其他 PlayFab API 驗證玩家。
透過 Windows 市集進行購買
透過 Windows 市集進行購買,與透過 iOS 或 Android 的購買程序類似。共有兩個階段:- 首先設定市集。
- 然後進行購買。
設定市集
Microsoft 已發佈數份說明此程序的文件。例如: 在 Windows 市集中設定應用程式內購買 您也必須確保在 PlayFab 目錄中設定具有相同產品識別碼的對應項目。進行購買
在市集中設定好項目後,您就可以在應用程式中啟用應用程式內購買。- 在應用程式中進行購買,並務必要求收據。
- 此文件說明了該程序:使用 UWP 進行應用程式內購買。
- 您會取回一張收據。
- 您可以在這裡找到更多關於收據的資訊。
- 呼叫 PlayFabClientAPI.ValidateWindowsStoreReceipt 以驗證收據。這會自動將玩家剛購買的項目存入其在 PlayFab 中的庫存。
