I have a similar error I want to get the Google ID but it returns: No credentials available
I've checked but I don't see anything out of the ordinary
val credentials = "1.2.2"
val identity = "1.1.0"
implementation("androidx.credentials:credentials:${credentials}")
implementation("androidx.credentials:credentials-play-services-auth:${credentials}")
implementation("com.google.android.libraries.identity.googleid:googleid:1.1.1")
fun SingInGoogle(context: Context, ){
// Configura la opción de Google ID
val rawNonce = UUID.randomUUID().toString()
val bytes = rawNonce.toByteArray()
val md = MessageDigest.getInstance("SHA-256")
val digest = md.digest(bytes)
val hashedNonce = digest.fold("") {str, it -> str + "%02x".format(it) }
val googleIdOption = GetGoogleIdOption.Builder()
.setFilterByAuthorizedAccounts(false)
.setServerClientId(context.getString(R.string.default_web_client_id))
.setNonce(hashedNonce)
.build()
// Crea la solicitud de credencial
val request = GetCredentialRequest.Builder()
.addCredentialOption(googleIdOption)
.build()
// Inicializa el executor para el callback
val executor = Executor { command -> Handler(Looper.getMainLooper()).post(command) }
// Crear una señal de cancelación
val cancellationSignal = CancellationSignal()
// Obtiene la credencial
CredentialManager.create(context).getCredentialAsync(
context,
request,
cancellationSignal,
executor,
object : CredentialManagerCallback<GetCredentialResponse, GetCredentialException> {
override fun onResult(result: GetCredentialResponse) {
handleSignIn(result)
}
override fun onError(e: GetCredentialException) {
handleFailure(e)
}
}
)
}