Error 12501 autenticando con inicio de sesión de google

Estoy usandoservicios de inicio de sesión de google para autenticar a los usuarios que usan mi aplicación. Lo puse a trabajar cuando solo solicité información por correo electrónico

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                    .requestEmail().build();

Luego, descubrí que también necesito solicitar un token de identificación para poder autenticarme con mi back-end, así que lo hice:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                    .requestIdToken(String.valueOf(R.string.server_client_id))
                    .requestEmail().build();

El problema es que no me dejaba iniciar sesión después de los cambios. El estado que obtengo cada vez que intento iniciar sesión esStatus{statusCode=unknown status code: 12501, resolution=null}.

He estado buscando y encontréesta publicación eso es más o menos lo mismo. Sin embargo, no cometí ninguno de los errores nombrados por las personas que respondieron, el ID de cliente oAuth en mi consola de desarrollo es para la aplicación web:YR.string.server_client_id es el primer ID de cliente de la imagen. los nombres de los paquetes son, por supuesto, correctos en todos los lugares; de lo contrario, ni siquiera funcionaría sin la solicitud del token. 2 personas también sugirieron que la aplicación debe estar firmada para que esto funcione, pero la documentación de Google dice que la clave de depuración también debería funcionar, y no tiene sentido hacer que las personas firmen las aplicaciones para la depuración.

He estado tratando de resolver esto por horas pero sin éxito. ¿Cual podría ser el problema? No dude en solicitar más información que podría haber olvidado poner aquí.

Respuestas a la pregunta(11)

Su respuesta a la pregunta