Signo de los servicios de juegos de Google en el problema (falla el primer intento, segundo de éxito)

Actualmente estoy tratando de conectar mi juego (que usa libgdx) a Google Game Services para permitir leaderboard / logros etc y ver algún comportamiento extraño.

Problema

Cuando primero presiona "Iniciar sesión", muestra el diálogo para elegir tu cuenta de Google, luego toca el diálogo de círculos de permisos de servicios y luego el círculo de carga grande. Después de un tiempo, muestra un cuadro de diálogo con el siguiente error Problema desconocido con los servicios de Google Play

Si presiono 'Ok' para descartar ese diálogo de error, luego toco en el botón "Iniciar sesión" de nuevo, de inmediato logré iniciar sesión. Después de esto, puedo ver la tabla de clasificación, etc.

Detalles

Los registros de errores que estoy viendo:

... 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. ... 

Desde que estoy usando libgdx, no estoy extendiendo BaseGameActivity en BaseGameActivity lugar, estoy creando un GameHelper manualmente y usando que en su lugar

 // 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(); 

Información extra

También veo lo siguiente en los registros:

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

Sin embargo, no estoy seguro si está relacionado, como de lo que he leído, esto parece estar relacionado con mapa / gps / ubicación. No uso mapas y puedo iniciar sesión, así que no estoy seguro de si este error es relevante o no (aunque suena muy mal!)

Actualizar / Editar : Después de probar, este error fue causado por AdMob (que he integrado con los servicios de google). Aunque el error suene mal, deshabilitar AdMob (no más error) el comportamiento extraño sigue siendo el mismo.

Creo que el siguiente es el registro de errores interesante, aunque no han tenido mucha suerte googling este error:

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

EDIT 2 : Más conclusiones!
Tengo el mismo cuadro de diálogo de error, incluso si no reviso el signo completo en el flujo de trabajo.

  • Presiona 'Iniciar sesión'
  • Ver lista de cuentas para iniciar sesión
  • Presiona 'Cancelar'
  • Ver diálogo de alerta con el título / mensaje: Problema desconocido con los servicios de Google Play

¡Cualquier ayuda será grande!

Nota:

  • Esto se puede reproducir de forma consistente – salir, y dos grifos en el botón de inicio de sesión da el comportamiento como se describe anteriormente
  • Asegúrate de que onActivityResult como se sugiere en los Servicios de juegos de Google Play: comportamiento de signo extraño
  • Fue a través del tutorial y configurar la aplicación de ejemplo (Tipo A número) – y todo funcionó.

4 Solutions collect form web for “Signo de los servicios de juegos de Google en el problema (falla el primer intento, segundo de éxito)”

¡Lo averigué! ¡Terminó siendo un estúpido error!

 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // mGameHelper.onActivityResult(requestCode, requestCode, data); // before - broken mGameHelper.onActivityResult(requestCode, resultCode, data); // after - working! \o/ } 

¿Ver la diferencia? ( mGameHelper.onActivityResult : segundo parámetro de mGameHelper.onActivityResult )

Para el beneficio de otros que golpean esto en el futuro, los registros siguientes, aunque pueden indicar otros errores, no parecen afectar el proceso del inicio de sesión – o servicios del juego en general – mi clasificación está funcionando 🙂

E / GooglePlayServicesUtil (10033): no se encontraron los recursos de servicios de Google Play. Compruebe la configuración de su proyecto para asegurarse de que los recursos están incluidos.
Desde mi depuración, esto tiene que ver con el uso de AdMob y los servicios de Google Play. Es probable que AdMob intente obtener información basada en la ubicación (todas las otras búsquedas de Google para el error anterior llevan a las preguntas relacionadas con Google Maps)

E / dalvikvm (10100): No se pudo encontrar la clase 'android.app.AppOpsManager', que se hace referencia desde el método axp.a
No estoy seguro de qué es este error. android.app.AppOpsManager parece ser una clase agregada en API v19 ( AppOpsManager en Android Developer ). He cambiado mi SDK para utilizar API v19, pero aún así obtener este error. El desplumado rápido de documentos indica que también tiene una función relacionada con la ubicación (posiblemente, AdMob de nuevo – no creo que vi esto cuando deshabilité AdMob)

¿Has activado activar la API en este enlace: https://console.developers.google.com/project ?

La aplicación debe estar firmada con el mismo archivo y cargada en el teléfono y g jugar como beta, con el fin de trabajar los servicios de google

Quité esta línea del método onStop de GameHelper.

// mExpectingResolution = false.

Ha funcionado para mi

https://code.google.com/p/play-games-platform/issues/detail?id=98

  • ¿Cuál es la forma más sencilla de hacer que la imagen sea táctil en libgdx?
  • Cómo agregar libgdx como sub view en android
  • Cómo configurar el modo retrato con libGDX?
  • Márgenes y rellenos entre elementos en LibGDX
  • LibGDX - Texto sobre textura en tile / tilemaps
  • Mantenga la pantalla encendida durante el juego de Android sin la interacción del usuario
  • AssetManager en LibGDX
  • Manera correcta de disponer de pantallas en Libgdx
  • Pantalla de grabación a video libgdx android
  • ¿Cómo usar el sombreado de píxeles para lograr un texto suave?
  • ¿Cómo cambiar entre el modo vertical y el modo horizontal con libGDX?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.