Freigeben über


PartyManager::CreateLocalUser

Erstellt ein lokales Benutzerobjekt, das verwendet wird, um einen lokalen Player beim Ausführen von Netzwerk- und Chatvorgängen darzustellen.

Syntax

PartyError CreateLocalUser(  
    PartyString entityId,  
    PartyString titlePlayerEntityToken,  
    PartyLocalUser** localUser  
)  

Parameter

entityId PartyString

Die PlayFab-Entitäts-ID, die dem lokalen Benutzer zugeordnet werden soll.

titlePlayerEntityToken PartyString

Das PlayFab-Entitätstoken, das dem lokalen Benutzer zugeordnet werden soll.

localUser PartyLocalUser**
Bibliotheksseitig zugeordnete Ausgabe

Das lokale Ausgabebenutzerobjekt.

Rückgabewert

PartyError

c_partyErrorSuccess , wenn das Erstellen des lokalen Benutzers erfolgreich war, andernfalls ein Fehlercode. Die lesbare Form des Fehlercodes kann über GetErrorMessage() abgerufen werden.

Hinweise

Diese Methode akzeptiert eine PlayFab-Entitäts-ID als entityId und ein PlayFab-Entitätstoken als titlePlayerEntityToken. Für diese Werte wird keine synchrone Überprüfung durchgeführt, außer dass die Länge von entityId kleiner oder gleich c_maxEntityIdStringLengthist. Wenn die Bibliothek Vorgänge ausführt, die eine Benutzerauthentifizierung oder -autorisierung erfordern, z. B. das Erstellen eines Netzwerks, die Authentifizierung in einem Netzwerk oder die Spracherkennungstranskription, überprüft der Parteidienst, ob das Token gültig ist, nicht abgelaufen ist, der angegebenen Entitäts-ID zugeordnet ist und zum Ausführen des Vorgangs autorisiert ist. Wenn diese Bedingungen nicht erfüllt sind, schlägt der Vorgang fehl.

Eine PlayFab-Entitäts-ID und ein Entitätstoken können aus der Ausgabe eines PlayFab-Anmeldevorgangs abgerufen und dann als Eingabe für diese Methode bereitgestellt werden. Die PlayFab-Entitäts-ID muss vom Typ title_player_accountsein, was für die meisten Entwickler den "Spieler" auf die traditionellste Weise darstellt. Um Benutzer zu erstellen, die andere unterstützte Entitätstypen darstellen, verwenden Sie stattdessen CreateLocalUserWithEntityType().

Die bereitgestellten entityId und titlePlayerEntityToken müssen mit derselben Titel-ID abgerufen worden sein, die an Initialize() übergeben wurde.

Die Parteibibliothek erstellt eine Kopie des angegebenen PlayFab-Entitätstokens für die Verwendung in nachfolgenden Vorgängen, die eine Authentifizierung oder Autorisierung des lokalen Benutzers erfordern, z. B. CreateNewNetwork() oder PartyNetwork::AuthenticateLocalUser(). Wenn das für diesen Aufruf bereitgestellte Token abgelaufen oder anderweitig ungültig ist, schlagen Vorgänge, die ein gültiges Token erfordern, fehl. Ein neues, gültiges Token kann der Parteibibliothek über einen Aufruf von PartyLocalUser::UpdateEntityToken() bereitgestellt werden.

Der Aufrufer ist für die Überwachung des Ablaufs des Entitätstokens verantwortlich, das für diese Methode und PartyLocalUser::UpdateEntityToken() bereitgestellt wird. Wenn sich das Token nähert oder die Ablaufzeit überschritten hat, sollte ein neues Token abgerufen werden, indem ein PlayFab-Anmeldevorgang ausgeführt und der Parteibibliothek durch Aufrufen von PartyLocalUser::UpdateEntityToken() bereitgestellt wird. Es wird empfohlen, ein neues Token zu erwerben, wenn sich das zuvor bereitgestellte Token in der Hälfte seines Gültigkeitszeitraums befindet. Auf Plattformen, die möglicherweise in einen Energiesparzustand wechseln oder die Anwendung auf andere Weise dazu veranlassen, die Ausführung für einen längeren Zeitraum anzuhalten und zu verhindern, dass das Token aktualisiert wird, bevor es abläuft, sollte das Token auf Ablauf überprüft werden, sobald die Ausführung fortgesetzt wird.

Nur c_maxLocalUsersPerDeviceCount PartyLocalUser-Objekte können zu einem bestimmten Zeitpunkt gleichzeitig vorhanden sein. Diese Methode schlägt synchron fehl, wenn das Erstellen eines anderen lokalen Benutzers diesen Grenzwert überschreiten würde.

Bei erfolgreicher Rückgabe wird mit dieser Methode der Speicher für alle Arrays ungültig, die zuvor von GetLocalUsers() zurückgegeben wurden, da sie den neuen Benutzer synchron zum Array hinzufügt. StartProcessingStateChanges() macht auch den Arbeitsspeicher für das Array ungültig. Das zurückgegebene localUser Objekt ist gültig, bis ein PartyDestroyLocalUserCompletedStateChange generiert wurde und alle Zustandsänderungen, die auf das Objekt verweisen, an FinishProcessingStateChanges()zurückgegeben wurden.

Voraussetzungen

Kopfball: Party.h

Weitere Informationen

PartyManager
PartyDestroyLocalUserCompletedStateChange
PartyManager::Initialize
PartyManager::GetLocalUsers
PartyManager::CreateLocalUserWithEntityType
PartyManager::D estroyLocalUser
PartyManager::CreateNewNetwork
PartyNetwork::AuthenticateLocalUser
PartyNetwork::RemoveLocalUser
PartyNetwork::CreateInvitation
PartyNetwork::RevokeInvitation
PartyNetwork::CreateEndpoint
PartyLocalUser::UpdateEntityToken
PartyLocalDevice::CreateChatControl