Freigeben über


Integrieren der universellen Windows-Plattform in PlayFab

In diesem Tutorial werden drei wichtige Integrationspunkte zwischen PlayFab und dem Universelle Windows-Plattform (UWP) erläutert.

Notiz

Wir haben einen [GitHub repository](https://github.com/PlayFab/UWPExample) mit Beispielcode erstellt, um zu veranschaulichen, wie Universelle Windows-Plattform in PlayFab integriert werden.

Die Integration der Universelle Windows-Plattform (UWP) in PlayFab ist sehr einfach. Es gibt wirklich nur drei Dinge, über die Sie sich Sorgen machen müssen:

  1. Verknüpfen eines Windows Hello-Kontos mit Ihrem PlayFab-Konto.
  2. Anmeldung beim Spieler über Windows Hello.
  3. Überprüfen eines Im Windows Store getätigten Kaufs.

Lassen Sie uns diese drei Themen in der Reihenfolge betrachten.

Verknüpfen eines Windows Hello-Kontos mit Ihrem PlayFab-Konto

Es gibt zwei Möglichkeiten, ein Windows Hello-Konto mit Ihrem PlayFab-Konto zu verknüpfen:

  1. Sie können entweder ein neues PlayFab-Konto mit Ihren Windows Hello Anmeldeinformationen erstellen.
  2. Sie können Windows Hello Anmeldeinformationen mit Ihrem vorhandenen PlayFab-Konto verknüpfen.

Welche Sie verwenden, hängt davon ab, ob Windows Hello Ihre primäre Authentifizierung ist.

Erstellen eines neuen Kontos mit Windows-Anmeldeinformationen

Bevor Sie mit diesem Vorgang beginnen können, müssen Sie den Benutzer nach dem Benutzernamen in Windows fragen.

Anschließend können Sie die folgenden Schritte ausführen:

  1. Rufen Sie KeyCredentialManager.RequestCreateAsync auf, um einen neuen öffentlichen Schlüssel für diesen Benutzer zu generieren.
  2. Rufen Sie CryptographicBuffer.EncodeToBase64String auf, um den IBuffer von oben in eine Zeichenfolge zu konvertieren.
  3. Rufen Sie PlayFabClientAPI.RegisterWithWindowsHellomit den folgenden erforderlichen Parametern auf:
    • Der Windows-Benutzername.
    • Der base64-codierte öffentliche Schlüssel von oben.
  4. Wenn die Registrierung erfolgreich war, wird der Spieler jetzt angemeldet. Sie erhalten ein Sitzungstoken zurück, das Sie zum Authentifizieren des Spielers mit allen anderen PlayFab-APIs verwenden können.
  5. Außerdem können Sie jetzt HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256) verwenden, um einen Hashanbieter zu erstellen, und den öffentlichen Schlüssel durch Aufrufen von hashProvider.HashData(publicKey).
  6. Konvertieren Sie den öffentlichen Hashschlüssel in eine Base 64-codierte Zeichenfolge (CryptographicBuffer.EncodeToBase64String(publicKeyHash)), und speichern Sie diese Zeichenfolge und den Benutzernamen in den Anwendungseinstellungen. (ApplicationData.Current.LocalSettings.Values["publicKeyHint"]). Dieser Öffentliche Schlüsselhinweis wird verwendet, um sich wieder anzumelden.
  7. Der Benutzername sollte auch in den lokalen Einstellungen des Benutzers gespeichert werden, um die Anmeldung zu vereinfachen.

Verknüpfen von Windows-Anmeldeinformationen mit einem vorhandenen PlayFab-Konto

Der Prozess zum Verknüpfen von Windows-Anmeldeinformationen mit einem vorhandenen PlayFab-Konto ist sehr ähnlich. Die Unterschiede sind:

  1. Zunächst müssen Sie bereits bei einem PlayFab-Konto angemeldet sein. In der Regel erfolgt dies anonym mit einer unsicheren Geräte-ID.
  2. Führen Sie dann die Schritte im vorherigen Abschnitt aus, verwenden Sie LinkWindowsHello jedoch anstelle von RegisterWithWindowsHello.
  3. Jetzt kann sich der Benutzer in Zukunft mit Windows-Anmeldeinformationen anmelden und auf sein PlayFab-Konto zugreifen oder es wiederherstellen.

Anmelden beim Player über Windows Hello

Nachdem Sie Windows Hello Anmeldeinformationen mit einem PlayFab-Konto verknüpft haben, können Sie sich mit diesen Anmeldeinformationen anmelden. Sie benötigen den Hinweis für den öffentlichen Schlüssel und den Windows-Benutzernamen.

Führen Sie diese Schritte aus:

  1. Rufen Sie PlayFabClientAPI.GetWindowsHelloChallengeAsync auf, um eine Signaturanforderung zu erstellen.
  2. Rufen Sie CryptographicBuffer.DecodeFromBase64String auf, um einen IBuffer für die KeyCredentialManager zu erstellen, damit das Benutzerzeichen angezeigt wird.
  3. Rufen Sie var retrieveResult = awaitKeyCredentialManager.OpenAsync(userId) auf, um einen Schlüsselsignaturdienst zu erstellen.
  4. Rufen Sie die Anmeldeinformationen für diesen Benutzer ab: var userCredential = retrieveResult.Credential.
  5. Rufen Sie await userCredential.RequestSignAsync(challengeBuffer) auf, um die Windows-Anforderung zu erhalten, dass der Benutzer die Serveranforderung für diesen Benutzer signiert.
  6. Rufen Sie schließlich auf PlayFabClientAPI.LoginWithWindowsHello , um den Vorgang abzuschließen und sich beim Spieler anzumelden.
  7. Angenommen, die Anmeldung war erfolgreich, ist der Spieler jetzt angemeldet. Sie erhalten ein Sitzungstoken zurück, das Sie zum Authentifizieren des Spielers mit allen anderen PlayFab-APIs verwenden können.

Tätigen eines Kaufs über den Windows Store

Der Kauf über den Windows Store ähnelt dem Kaufprozess über iOS oder Android. Es gibt zwei Phasen:

  1. Einrichten des Stores an erster Stelle.
  2. Anschließend wird der Kauf gemacht.

Einrichten des Store

Microsoft hat mehrere Dokumente veröffentlicht, in denen dieser Vorgang beschrieben wird. Beispiel:

Einrichten des In-App-Kaufs im Windows Store

Sie müssen auch sicherstellen, dass Sie ein übereinstimmende Element im PlayFab-Katalog mit der gleichen Produkt-ID einrichten.

Tätigen des Kaufs

Nachdem Sie die Artikel im Store eingerichtet haben, können Sie den In-App-Kauf in Ihrer App aktivieren.

  1. Tätigen Sie den Kauf in der Anwendung, und stellen Sie sicher, dass Sie eine Quittung anfordern.
  2. Sie erhalten eine Quittung zurück.
  3. Rufen Sie PlayFabClientAPI.ValidateWindowsStoreReceipt auf, um den Beleg zu überprüfen. Dadurch wird dem Inventar des Spielers in PlayFab automatisch der Artikel gutgeschrieben, den er gerade gekauft hat.

Weitere Fragen

Wenn Sie weitere Fragen haben, posten Sie bitte in unseren Foren.

Wir würden uns auch über feedback zur Integration Ihres Spiels in die Universelle Windows-Plattform freuen!