文档

Multiplayer Services SDK

All Services

Multiplayer Services SDK

The Session Observer

Track events related to session creation using the SessionObserver class.
阅读时间1 分钟最后更新于 10 个月前

You can use the
SessionObserver
class to track events related to an
ISession
of a specific
ISession.Type
. Use this class to get events when a session is created, is pending creation, or has failed to be created for a specific session type. It's possible to create an instance of this class independently of the
UnityServices
initialization, allowing independent systems in a project to track session-related events without handling the
Unity Services
and
MultiplayerService
states themselves.
The following code demonstrates this class's usage:
void OnAddingSessionStarted(AddingSessionOptions addingSessionOptions) { Debug.Log($"A session of type {addingSessionOptions.Type} is being added.");}void OnSessionAdded(ISession session) { Debug.Log($"A session of type {session.Type} has been added.");}void OnAddingSessionFailed(AddingSessionOptions addingSessionOptions, SessionException exception) { Debug.Log($"The addition of a session of type {addingSessionOptions.Type} has failed with message {exception.Message}.");}// ...async Task CreateSession() { async using (var sessionObserver = new SessionObserver("my-session-type")) { sessionObserver.AddingSessionStarted += OnAddingSessionStarted; sessionObserver.SessionAdded += OnSessionAdded; sessionObserver.AddingSessionFailed += OnAddingSessionFailed; var sessionOptions = new Sessionoptions(){ Type = "my-session-type" }.WithRelayNetwork(); await Multiplayer.Instance.CreateSessionAsync(sessionOptions); }}