Sign out of a game
When the game no longer wants a user signed in, it sends an ILoginSession::Logout method call to the Vivox SDK. After the user is signed out, there is no network traffic sent to or received by the Vivox SDK.
Note: This is typically called when quitting an application, or in the scenario where the user can sign in to different accounts within an app, when disconnecting from the game server.
To determine if a sign out is user initiated you must listen for the EventStateChanged event with LoginState::LogginOut. The LoggingOut state is always raised on a successful Logout() call before reaching LoginState:LoggedOut. If a user moves directly between the sates of LoggedIn to LoggedOut without the LoggingOut state being raised it means the sign out was not user initiated.
Note: Trying to re-sign in a user too quickly after a sign out can fail if the LoggedOut event has not completed. It's best practice to wait for the LoggedOut event before calling BeginLogin() on a user.
The following code displays an example of the sign out process:
/* . . . */
MyLoginSession.Logout();
/* . . . */