Freigeben über


Integrieren der Ermittlung in PlayFab Party

Die Ermittlung ist der Prozess, bei dem Benutzer zueinander finden, um miteinander zu spielen. PlayFab Party bietet keinen Ermittlungsmechanismus, kann aber mit jedem vorhandenen Mechanismus verwendet werden, der die Kommunikation zwischen Benutzern ermöglicht.

Einfacher Erstellungs- und Joinflow

Ein PlayFab Party-Netzwerk wird von einem Benutzer auf einem einzelnen Client erstellt , angekündigt und dann von anderen Benutzern auf verschiedenen Clients hinzugefügt .

Erstellen eines Netzwerks

Die erste Überlegung bei der Verwendung eines PlayFab Party-Netzwerks mit einer Spielsitzung ist die Auswahl, welcher Client und Benutzer das Netzwerk erstellen (PartyManager::CreateNewNetwork()). Aus sicht der PlayFab Party spielt es keine Rolle, welcher Benutzer dies tut; jeder Benutzer kann ein Netzwerk erstellen. Der Ersteller erhält keine besonderen Berechtigungen innerhalb des Netzwerks. Der Client, der das Netzwerk erstellt, ist jedoch für Folgendes verantwortlich:

  • Festlegen der unveränderlichen Netzwerkkonfiguration (PartyNetworkConfiguration)
  • Bestimmen der anfänglichen Einladung (PartyInvitationConfiguration)
  • Werbung für das Netzwerk für andere Benutzer

Die erste Einladung enthält einen Bezeichner und eine Liste der Benutzer, die dem Netzwerk beitreten dürfen. Die Benutzer werden als Liste von Entitäts-IDstitle_player_account angegeben. Alternativ kann die Liste leer sein, sodass jeder Benutzer mit Netzwerkdeskriptor und Einladungsbezeichner beitreten kann.

Werbung für ein Netzwerk

Um einem vorhandenen PlayFab Party Network beitreten zu können, benötigt ein Client zwei Informationen:

  • Netzwerkdeskriptor
  • Einladungsbezeichner

Ein PlayFab Party-Netzwerk wird durch einen Netzwerkdeskriptor (PartyNetworkDescriptor) identifiziert. Dies ist eine größtenteils undurchsichtige Struktur, die Informationen codiert, die zum Herstellen einer Verbindung mit dem Netzwerk erforderlich sind. Der Netzwerkdeskriptor wird dem erstellenden Client bereitgestellt, nachdem die Netzwerkerstellung abgeschlossen ist (PartyCreateNewNetworkCompletedStateChange, PartyNetwork::GetNetworkDescriptor()). Um die Entwicklung zu vereinfachen, bietet PlayFab Party Methoden zum Serialisieren und Deserialisieren des Netzwerkdeskriptors in und aus einer webfreundlichen Zeichenfolge (PartyManager::SerializeNetworkDescriptor(), PartyManager::DeserializeNetworkDescriptor()).

Ein Einladungsbezeichner ist eine Zeichenfolge, die eine Einladung eindeutig identifiziert. Sie wird von einem Client bereitgestellt, wenn eine Einladung explizit oder beim Erstellen der ersten Einladung beim Erstellen des Netzwerks erstellt wird. Wenn der Client keinen Einladungsbezeichner angibt, wird eine eindeutig generiert.

Um das neue Netzwerk für andere Benutzer zu bewerben, senden Sie diese beiden Informationen über ein geeignetes Kommunikationsmedium.

Beitreten zu einem Netzwerk

Der Beitritt zu einem Netzwerk ist ein zweistufiger Prozess. Ein Client, der einem Netzwerk beitreten möchte, muss zunächst eine Verbindung mit dem Netzwerk herstellen, indem er den deserialisierten Netzwerkdeskriptor für PartyManager::ConnectToNetwork()bereitstellt, und dann einen Benutzer authentifizieren, indem er die Einladungs-ID für PartyNetwork::AuthenticateLocalUser()bereitstellt.

Szenariobeispiele

Einladungen zu sozialen Netzwerken

Das einfachste Szenario ist ein Szenario, in dem ein einzelner Benutzer eine Spielsitzung erstellt und andere bekannte Benutzer über seine gemeinsame soziale Plattform einladen möchte. Der Flow könnte in etwa wie folgt aussehen:

  • Der einladende Benutzer erstellt das Netzwerk mit einer offenen Einladung oder einer Einladung, die alle Benutzer enthält, mit denen der einladende Benutzer spielen möchte.
  • Nachdem das Netzwerk erstellt wurde, sendet der einladende Benutzer den Netzwerkdeskriptor und die Einladungs-ID über den Einladungsmechanismus der sozialen Plattform an die anderen Benutzer.
  • Jeder eingeladene Benutzer verwendet den Netzwerkdeskriptor und die Einladungs-ID, um eine Verbindung mit dem Netzwerk herzustellen.

Notiz

Beim Angeben von Benutzern in einer Einladung werden die Entitäts-IDs der title_player_account Benutzer verwendet. Diese Entitäts-IDs müssen out-of-band von PlayFab Party abgerufen werden.

Wartebereich

Wenn Ihr Spiel einen Wartebereich bereitstellt, in dem Daten zwischen Clients gesendet werden können, kann es als Kommunikationsmedium für den Austausch von Netzwerkverbindungsinformationen verwendet werden. Der Flow könnte in etwa wie folgt aussehen:

  • Eine Gruppe von Benutzern wird ausgewählt, um ein Spiel zusammen zu spielen.
  • Einer dieser Benutzer wird als Ersteller ausgewählt.
  • Jeder Benutzer in der Gruppe sendet seine title_player_accountEntitäts-ID an den Ersteller.
  • Der Ersteller erstellt das Netzwerk und gibt die Entitäts-IDs der Benutzer in der anfänglichen Einladungskonfiguration an.
  • Nach Abschluss der Netzwerkerstellung sendet der Ersteller den Netzwerkdeskriptor und die anfängliche Einladungs-ID an die Benutzer, die beitreten sollen.
  • Jeder Benutzer verwendet den Netzwerkdeskriptor und den Einladungsbezeichner, um eine Verbindung mit dem Netzwerk herzustellen.

Spielersuche

Ein Matchmaking-Dienst, z. B. PlayFab Matchmaking, kann verwendet werden, um eine Liste von Benutzern zu finden, mit denen Sie spielen können. Der Flow könnte in etwa wie folgt aussehen:

  • Benutzer initiieren eine Übereinstimmungsanforderung mit dem Dienst. Die title_player_accountEntitäts-ID muss Teil der Anforderung sein, da das Übereinstimmungsergebnis die Entitäts-ID jedes Benutzers enthalten muss.
  • Benutzer erhalten ein Übereinstimmungsergebnis mit der Gruppe von Benutzern, die Teil des Netzwerks sein sollen.
  • Ein vordefinierter Algorithmus wird verwendet, um auszuwählen, welcher Benutzer der Ersteller sein soll.
  • Der Ersteller erstellt das Netzwerk und gibt die Entitäts-IDs der anderen übereinstimmenden Benutzer in der anfänglichen Einladungskonfiguration an.
  • Nach Abschluss der Netzwerkerstellung verwendet der Ersteller ein Out-of-Band-Kommunikationsmedium, um den Netzwerkdeskriptor und die anfängliche Einladungs-ID an andere übereinstimmende Benutzer zu senden.
  • Jeder übereinstimmende Benutzer verwendet den Netzwerkdeskriptor und den Einladungsbezeichner, um eine Verbindung mit dem Netzwerk herzustellen.

Notiz

Ein Out-of-Band-Kommunikationsmedium ist erforderlich, um die Verbindungsinformationen vom Ersteller an die anderen übereinstimmenden Benutzer zu senden.