Usługi Google Play Game Zmiana ustawień urządzenia dla wielu graczy wyrzuca użytkownika z pokoju

Pracuję nad aplikacją, która ma tylko jedną aktywność (która się rozszerzaBaseGameActivity) i przełączać się między wieloma fragmentami (podobnie jak w przykładowych stanach kodu Google).

Testuję teraz grę wieloosobową na 2 oddzielnych urządzeniach. Obaj użytkownicy mogą pomyślnie logować się, wysyłać wiadomości do siebie itd. Jednak w momencie, gdy jeden użytkownik obraca swoje urządzenie, zostaje wyrzucony z pokoju.

Myślę, że to ma sens, ponieważ aktywność jest niszczona i odtwarzana. Ale nie rozumiem tegoco musimy zrobić, aby umożliwić użytkownikowi obracanie urządzenia i utrzymanie stanu gry (zalogowanego, dołączonego do pokoju itp.) w takcie?

Jedna myśl: android: configChanged = "orientation | screenSize" - ale Android zniechęca do tego (z dobrych powodów, w większości przypadków) - ale czy jest to sposób, w jaki musimy iść z Google Play Game Services, aby pozostać w pokoju przy zmianie orientacji urządzenia ?

A co z użyciem „onRetainNonConfigurationInstance ()” do zapisania instancji GameHelper i ponownego użycia jej po odtworzeniu działania?

Lub w jakiś sposób zaimplementować połączenie z grą (logowanie, łączenie pokoju itp.) W usłudze?

A może źle o tym myślę ?! Dziękujemy za myśli i pomoc. Przykład (y) kodu byłby również bardzo mile widziany, jeśli to możliwe.

questionAnswers(3)

yourAnswerToTheQuestion