Problemas de inicio de sesión con los servicios de juegos de Google Play

Actualmente estoy implementando el servicio de juegos de Google Play en mi juego para proporcionar una característica de juego en tiempo real multijugador (usando libgdx y BaseGameUtils).

Todo funciona bien en mi Nexus 4 con mi cuenta principal de Google (iniciar sesión, crear una habitación, etc.), llamarla "A".

Para probar la automatización y el envío / recepción de mensajes, he creado una segunda cuenta de Google, la llamo "B" y agregé esta cuenta a mi ficha de Samsung Galaxy Tab.

Al principio, todo funcionó bien también. Pude crear una sala automatizada, enviar y recibir mensajes de texto, etc. Pero después de 15 minutos de pruebas, no pude iniciar sesión con la cuenta "B" en la pestaña Galaxy. La cuenta "A" en Nexus 4 sigue funcionando bien.

Para descartar cualquier problema con el dispositivo, he añadido la cuenta "A" a mi ficha de Galaxy y el inicio de sesión ha sido satisfactorio. También he añadido la cuenta "B" a mi Nexus 4 y el inicio de sesión no funciona.

Después de esperar un tiempo (30 minutos), inmediatamente el inicio de sesión con la cuenta "B" funciona de nuevo en ambos dispositivos. Y ese es mi estado actual: Puedo hacer algunas pruebas con la cuenta "B", pero después de un corto tiempo se "bloqueó" y tengo que esperar, hasta que pueda usarlo de nuevo. La cuenta "A" funciona siempre.

Durante este tiempo de "bloqueo", he intentado todo: eliminar datos de aplicaciones / caché, borrar datos de servicio de reproducción / caché, desvincular la aplicación con mi cuenta "B". Nada funciona. Aquí está la salida logcat, si quiero iniciar sesión con la cuenta "B" mientras está "bloqueada":

07-27 13:20:35.508: I/dul(13742): I/O exception (org.apache.http.NoHttpResponseException) caught when processing request: The target server failed to respond 07-27 13:20:35.508: I/dul(13742): Retrying request 07-27 13:20:35.808: E/Volley(13742): [1224] ip.a: Unexpected response code 403 for https://www.googleapis.com/games/v1/players/102515671693140579145 07-27 13:20:35.818: E/SignInIntentService(13742): Access Not Configured 07-27 13:20:35.818: E/SignInIntentService(13742): ark 07-27 13:20:35.818: E/SignInIntentService(13742): at ams.b(SourceFile:189) 07-27 13:20:35.818: E/SignInIntentService(13742): at ams.a(SourceFile:111) 07-27 13:20:35.818: E/SignInIntentService(13742): at adz.a(SourceFile:220) 07-27 13:20:35.818: E/SignInIntentService(13742): at adz.a(SourceFile:201) 07-27 13:20:35.818: E/SignInIntentService(13742): at adi.a(SourceFile:489) 07-27 13:20:35.818: E/SignInIntentService(13742): at att.a(SourceFile:221) 07-27 13:20:35.818: E/SignInIntentService(13742): at com.google.android.gms.games.service.GamesSignInIntentService.onHandleIntent(SourceFile:343 ) 07-27 13:20:35.818: E/SignInIntentService(13742): at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) 07-27 13:20:35.818: E/SignInIntentService(13742): at android.os.Handler.dispatchMessage(Handler.java:99) 07-27 13:20:35.818: E/SignInIntentService(13742): at android.os.Looper.loop(Looper.java:137) 07-27 13:20:35.818: E/SignInIntentService(13742): at android.os.HandlerThread.run(HandlerThread.java:60) 07-27 13:20:35.818: E/LoadSelfFragment(16159): Unable to sign in - application does not have a registered client ID 

Por supuesto, tengo un ID de cliente registrado, de lo contrario no podría iniciar sesión con la cuenta "A" ya veces con la cuenta "B". Por supuesto, agregé ambas cuentas en la Consola del programador a la lista blanca de pruebas. Y, por supuesto, he añadido el ID de la aplicación correcta a través de recurso de enlace a mi manifiesto.

No creo que tenga algo que ver con mi código, porque la cuenta A nunca tiene problemas, y la cuenta B funciona "a veces". ¿Hay algún problema conocido con la lista blanca de pruebas? ¿O tiene alguna sugerencia de cómo resolver ese problema? Por cierto, tampoco creo que esté restringido en cuotas, porque eso afectaría a ambas cuentas, ¿no?

Realmente aprecio tu ayuda

Este comportamiento se producirá si:

El usuario actual está conectado en cualquier habitación y:

La aplicación se reinicia de tal forma que intenta iniciar sesión en los Servicios de Google sin haber pasado por la parte de desconexión según lo requieran los Servicios de Google Play.

Me pareció que esto me pasó bastante regularmente (por desgracia para mí), ya que estaba averiguando cómo pasar mensajes entre mi código de Android y código LibGDX lado (mi aplicación sólo se bloquea debido a problemas de sincronización). También he configurado algunas cuentas de prueba que podría "ciclo" a través de evitar ser completamente bloqueado de entrar. Sin embargo, me enteré de que si he utilizado el Administrador de tareas para matar el proceso antes de reiniciar la aplicación, el 90 por ciento del tiempo, Podría seguir usando la misma cuenta.

Si está actualizando su código y carga en el dispositivo mientras se encuentra en una habitación, también obtendrá la ira del servidor durante aproximadamente 30 minutos para esa cuenta.

En resumen, para mantener su cuenta viable:

1) asegurarse de que LeaveRoom antes de actualizar su código (he encontrado salir de PS no es necesario) 2) Si su aplicación bloquea … Matar el proceso a través de Administrador de tareas (yo uso Samsung) lo más probable es que su cuenta continúe (Se puede ver en el logcat donde llama a la desconexión cuando lo hace) cuando vuelva a iniciar la aplicación.

Estoy teniendo el mismo problema que user2446468, algunas de mis cuentas de prueba no se registran después de haber trabajado durante un par de horas (después de este fallo inicial que sólo funcionará después de media hora o así …)

Aquí está mi registro para este evento …

 08-06 17:03:08.945: D/Volley(21844): [664] ip.a: HTTP response for request=<[ ] https://www.googleapis.com/games/v1whitelisted/applications?language=en_US&platformType=ANDROID NORMAL 20> [lifetime=5926], [size=531], [rc=200], [retryCount=0] 08-06 17:03:08.975: D/Volley(21844): [1] ia.b: 5956 ms: [ ] https://www.googleapis.com/games/v1whitelisted/applications?language=en_US&platformType=ANDROID NORMAL 20 08-06 17:03:09.075: I/dul(21844): I/O exception (org.apache.http.NoHttpResponseException) caught when processing request: The target server failed to respond 08-06 17:03:09.075: I/dul(21844): Retrying request 08-06 17:03:09.295: W/AlarmManager(2301): FACTORY_ON= 0 08-06 17:03:09.915: E/Volley(21844): [655] ip.a: Unexpected response code 403 for https://www.googleapis.com/games/v1/players/11******************* 08-06 17:03:09.950: E/SignInIntentService(21844): Access Not Configured 08-06 17:03:09.950: E/SignInIntentService(21844): ark 08-06 17:03:09.950: E/SignInIntentService(21844): at ams.b(SourceFile:189) 08-06 17:03:09.950: E/SignInIntentService(21844): at ams.a(SourceFile:111) 08-06 17:03:09.950: E/SignInIntentService(21844): at adz.a(SourceFile:220) 08-06 17:03:09.950: E/SignInIntentService(21844): at adz.a(SourceFile:201) 08-06 17:03:09.950: E/SignInIntentService(21844): at adi.a(SourceFile:489) 08-06 17:03:09.950: E/SignInIntentService(21844): at att.a(SourceFile:221) 08-06 17:03:09.950: E/SignInIntentService(21844): at com.google.android.gms.games.service.GamesSignInIntentService.onHandleIntent(SourceFile:343) 08-06 17:03:09.950: E/SignInIntentService(21844): at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) 08-06 17:03:09.950: E/SignInIntentService(21844): at android.os.Handler.dispatchMessage(Handler.java:99) 08-06 17:03:09.950: E/SignInIntentService(21844): at android.os.Looper.loop(Looper.java:137) 08-06 17:03:09.950: E/SignInIntentService(21844): at android.os.HandlerThread.run(HandlerThread.java:60) 08-06 17:03:09.965: E/LoadSelfFragment(7796): Unable to sign in - application does not have a registered client ID 

ACTUALIZACIÓN: Tengo fuertes razones para creer que realmente hay algo que "bloquea" el inicio de sesión durante un período de tiempo (realicé algunas pruebas, compilé una versión de prueba de esfuerzo que intentaría constantemente iniciar sesión (con un Razonable 10sec de tiempo de reutilización para no alcanzar ninguna de las cuotas de solicitud) si el inicio de sesión falló … El resultado fue un período de aprox 30-45min fuera de línea y una recuperación completa después de eso (sin ninguna intervención del usuario) … He Obtuve las siguientes teorías:

  • Es posible que haya cuotas aplicadas de forma diferente para aplicaciones no publicadas 🙁
  • Esto puede ser un error del lado del servidor cuando google intenta autenticar si el usuario está realmente en la lista de probadores para una aplicación no publicada (¿algún google que lo compruebe?)
  • Lo mismo que lo anterior, pero para la aplicación inédita en sí (pero lo dudo, ya que es posible iniciar sesión con el usuario A y no con el usuario B en un momento dado)
  • Puede haber algún caché incorporado en la actividad de servicios de juegos local (almacenar en caché un ID de cliente incorrecto (tal vez un ptr nulo en algún lugar) para la APP y, por lo tanto, recibir ese error 403 correctamente), si es un error en la API de Play Game Services , No del lado del servidor …

Si descubro algo, los mantendré informados …

Recientemente comencé a tener estos problemas también. Creo que pueden estar haciendo algún mantenimiento de su lado. Acabo de empezar a usar una cuenta de prueba diferente y todo comenzó a funcionar de nuevo. Por supuesto, ahora estoy teniendo otros problemas. Estoy buscando en mi problema y voy a actualizar como encuentro anwers. Por ahora, sugiero simplemente usar una cuenta de prueba diferente (o nueva) (y asegúrate de que recuerdas autorizar la cuenta para probar en la consola de desarrollo).

¿Tiene una cuenta de probador agregada a ambos dispositivos (a través de Configuración)?

Sé que es una pregunta tonta, pero tenía mi cuenta de probador en un solo dispositivo y recibió el mismo mensaje de error (muy poco útil). No puede asumir que puede agregar una cuenta de comprobador al segundo dispositivo a través del flujo de inicio de sesión regular. Simplemente fallará a menos que ya haya una cuenta de Google en el dispositivo con acceso de probador.

  • ¿Cómo enlazar activos de android a escritorio en libgdx?
  • TexturePacker de LibGDX con gradle
  • LibGDX leer archivo XML
  • ¿Cómo puedo hacer que LibGDX detecte un solo toque / clic?
  • ¿Utilizar las librerías LibGdx con el proyecto android existente?
  • ¿Puedo desarrollar una aplicación de Android usando LIBGDX sin mucho conocimiento de los componentes del sistema operativo Android?
  • ¿Puedo instalar la API de Android más reciente para orientar la versión de API inferior?
  • La imagen no es un poder de 2?
  • Error de Gradle después de actualizar Android Studio a 1.5
  • LibGDX 0.9.9 - Aplicar cubemap en el entorno
  • Dibujar una línea suave
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.