El cambio en la orientación del dispositivo multijugador de los servicios de juegos Google Play saca al usuario de la habitación

Estoy trabajando en una aplicación que tiene una sola actividad (que se extiendeBaseGameActivity), y cambiar entre múltiples fragmentos (al igual que los estados de código de muestra de Google).

Estoy probando un juego multijugador en este momento, en 2 dispositivos separados. Ambos usuarios pueden iniciar sesión con éxito, enviar mensajes entre ellos, etc. Sin embargo, en el instante en que un usuario gira su dispositivo, lo expulsan de la sala.

Creo que esto tiene sentido porque la actividad se destruye y se recrea. Pero lo que no entiendo es¿Qué debemos hacer para que el usuario pueda girar su dispositivo y MANTENER el estado del juego (conectado, unido a una habitación, etc.) en contacto?

Un pensamiento: android: configChanged = "orientación | tamaño de pantalla" - Pero Android desalienta eso (por buenas razones, en la mayoría de los casos) - pero esta es la forma en que tenemos que ir con Google Play Game Services para permanecer en una habitación con el cambio de orientación del dispositivo ?

¿Qué hay de usar "onRetainNonConfigurationInstance ()" para guardar la instancia de GameHelper y usarla nuevamente cuando se recrea la actividad?

¿O implementar de alguna manera la conexión del juego (inicio de sesión, ingreso en la sala, etc.) en un Servicio?

¿O estoy pensando en esto de una manera equivocada? Gracias por tus pensamientos y ayuda. Código de ejemplo (s) también sería muy apreciado si es posible.

Respuestas a la pregunta(3)

Su respuesta a la pregunta