Durch die Änderung der Geräteorientierung für mehrere Spieler bei Google Play Game Services wird der Benutzer aus dem Raum entlassen
Ich arbeite an einer App mit nur einer Aktivität (die sich erstreckt)BaseGameActivity), und wechseln Sie zwischen mehreren Fragmenten (ähnlich wie in Googles Beispielcodezuständen).
Ich teste gerade ein Multiplayer-Spiel auf 2 verschiedenen Geräten. Beide Benutzer können sich erfolgreich anmelden, Nachrichten aneinander senden usw. Sobald jedoch ein Benutzer sein Gerät dreht, werden sie aus dem Raum geworfen.
Ich denke, das ist sinnvoll, weil die Aktivität zerstört und neu erstellt wird. Aber was ich nicht verstehe, istWas müssen wir tun, damit der Benutzer sein Gerät drehen und den Spielstatus (angemeldet, mit einem Raum verbunden usw.) im Takt halten kann?
Ein Gedanke: android: configChanged = "orientation | screenSize" - Android rät jedoch davon ab (aus guten Gründen in den meisten Fällen) - aber so müssen wir uns mit Google Play Game Services entscheiden, um bei einer Änderung der Geräteorientierung in einem Raum zu bleiben ?
Was ist mit "onRetainNonConfigurationInstance ()", um die GameHelper-Instanz zu speichern und sie erneut zu verwenden, wenn die Aktivität neu erstellt wird?
Oder implementieren Sie die Spielverbindung (Anmelden, Beitreten zum Raum usw.) in einem Dienst?
Oder denke ich falsch darüber nach ?! Vielen Dank für Ihre Gedanken und Ihre Hilfe. Codebeispiele wären auch sehr willkommen, wenn dies möglich wäre.