Wystąpił problem z usługami gier Google (pierwsza próba nie powiodła się, druga udana)

Obecnie próbuję połączyć moją grę (która używa libgdx) z Google Game Services, aby włączyć rankingi / osiągnięcia itp. I zobaczyć dziwne zachowanie.

Problem

Kiedy po raz pierwszy stuknę w „Zaloguj się”, wyświetla się okno dialogowe, w którym można wybrać konto google, a następnie okno dialogowe kręgów zezwoleń na usługi, a następnie duże koło ładowania. Po chwili wyświetla okno dialogowe z następującym błędemNieznany problem z usługami Google Play

Jeśli stuknę „OK”, aby odrzucić to okno dialogowe błędu, a następnie ponownie stuknij w przycisk „Zaloguj się”, natychmiast zaloguję się pomyślnie. Po tym czasie widzę tabelę wyników itp.

Detale

Dzienniki błędów, które widzę:

...
D: GameHelper: onActivityResult: req=RC_RESOLVE, resp=9001
D: GameHelper: onAR: responseCode=9001, so giving up.
D: GameHelper: killConnections: killing connections.
D: GameHelper: killConnections: all clients disconnected.
D: GameHelper: State change CONNECTING -> DISCONNECTED
D: GameHelper: Making error dialog for failure: SignInFailureReason(serviceErrorCode:SIGN_IN_REQUIRED(4),activityResultCode:9001)
D: GameHelper: Showing error dialog.
D: GameHelper: Notifying LISTENER of sign-in FAILURE (error)
I: ----- Sign in failed :( -----
///// Tap the 'sign in' button again ///////
I: ----- Begin sign in process... -----
D: GameHelper: Starting USER-INITIATED sign-in flow.
D: GameHelper: isGooglePlayServicesAvailable returned 0
D: GameHelper: beginUserInitiatedSignIn: starting new sign-in flow.
D: GameHelper: Starting connections.
D: GameHelper: State change DISCONNECTED -> CONNECTING
D: GameHelper: connectNextClient: requested clients: 1, connected clients: 0
D: GameHelper: Pending clients: 1
D: GameHelper: Connecting GamesClient.
D: GameHelper: onConnected: connected! client=1
D: GameHelper: Connected clients updated to: 1
D: GameHelper: connectNextClient: requested clients: 1, connected clients: 1
D: GameHelper: Pending clients: 0
D: GameHelper: All clients now connected. Sign-in successful!
D: GameHelper: All requested clients connected. Sign-in succeeded!
D: GameHelper: State change CONNECTING -> CONNECTED
D: GameHelper: Notifying LISTENER of sign-in SUCCESS
I: ----- Sign in success! -----
D: GameHelper: onActivityResult: req=3, resp=3
D: GameHelper: onActivityResult: request code not meant for us. Ignoring.
...

Ponieważ używam libgdx, nie rozszerzamBaseGameActivity zamiast tego tworzęGameHelper ręcznie i za pomocą tego

// in @Override onCreate:
mGameHelper = new GameHelper(this);                
mGameHelper.setup(this, GameHelper.CLIENT_GAMES);    
mGamesClient = mGameHelper.getGamesClient();       

// in @Override onStart:
mGameHelper.onStart(this);

// then, for the sign in button, using it:
mGameHelper.beginUserInitiatedSignIn();

Informacje dodatkowe

W dziennikach widzę również:

E: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.

Jednak nie jestem pewien, czy jest to związane, jak z tego, co przeczytałem, wydaje się, że jest to związane z map / gps / location. Nie korzystam z map i mogę się zalogować, więc nie jestem pewien, czy ten błąd jest istotny, czy nie (choć brzmi to dość źle!)

Aktualizuj / Edytuj: Po testowaniu ten błąd został spowodowany przez AdMob (który zintegrowałem z usługami google). Chociaż błąd brzmi źle, wyłączenie AdMob (nie więcej błędu) dziwne zachowanie jest nadal takie samo.

Myślę, że poniżej znajduje się interesujący dziennik błędów, choć nie miałem dużo szczęścia, szukając tego błędu:

E/dalvikvm( 2618): Could not find class 'android.app.AppOpsManager', referenced from method axo.a

EDYCJA 2: Więcej wyników!
Dostaję to samo okno dialogowe błędu, nawet jeśli nie przejdę przez cały przepływ pracy logowania.

Wybierz „Zaloguj się”Zobacz listę kont, do których chcesz się zalogowaćDotknij „Anuluj”Zobacz okno dialogowe alarmu z tytułem / wiadomością:Nieznany problem z usługami Google Play

Każda pomoc będzie wspaniała!

Uwaga:

Można to konsekwentnie odtwarzać - wylogować się, a dwa stuknięcia w przycisk logowania dają zachowanie opisane powyżejUpewnij się, że dzwonięonActivityResult jak sugerowano wUsługi Google Play Game: dziwne zachowanie podczas logowaniaPrzeszedłem przez samouczek i skonfigurowałem przykładową aplikację (Typ A) - i wszystko działało.

questionAnswers(4)

yourAnswerToTheQuestion