Вход в систему с помощью google работает из студии android, но не работает из google play - PullRequest
0 голосов
/ 06 мая 2020

Я создал приложение с логином google. Когда я подключаю устройство к студии android, журнал работает идеально, но когда я загружаю свое приложение из Google Play, по какой-то причине не удается подключиться ... Я попытался найти решение, но не смог его найти. .. Это код ... Я хотел бы, чтобы кто-нибудь знал, в чем проблема ..

Спасибо за ваше время!

class firstActivity : AppCompatActivity(){
    private lateinit var auth: FirebaseAuth

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        auth = FirebaseAuth.getInstance()

        val acct = GoogleSignIn.getLastSignedInAccount(this)
        if (acct != null) {
            val personName = acct.displayName
            val personGivenName = acct.givenName
            val personFamilyName = acct.familyName
            val personEmail = acct.email
            val personId = acct.id
        }

        val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestIdToken(getString(R.string.default_web_client_idd))
            .requestEmail()
            .build()

        val mGoogleSignInClient = GoogleSignIn.getClient(this, gso);

        signinButtonGoogle.setOnClickListener {

            val signInIntent: Intent = mGoogleSignInClient.getSignInIntent()
            startActivityForResult(signInIntent, Companion.RC_SIGN_IN)

        }
    }

    public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)

        GoogleSignInApi.getSignInIntent(...);
        if (requestCode == Companion.RC_SIGN_IN) {
            val task = GoogleSignIn.getSignedInAccountFromIntent(data)

            try {
                val account = task.getResult(ApiException::class.java)
                firebaseAuthWithGoogle(account!!)
            } catch (e: ApiException) {
                Toast.makeText(applicationContext, "Google sign in failed", Toast.LENGTH_SHORT)
                    .show()

            }
        }
    }

    private fun firebaseAuthWithGoogle(acct: GoogleSignInAccount) {
        val progressDialog = ProgressDialog(this)
        progressDialog.setMessage("Connecting...")
        progressDialog.setCancelable(false)
        progressDialog.show()

        val credential = GoogleAuthProvider.getCredential(acct.idToken, null)
        auth.signInWithCredential(credential)
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {

                    val user = auth.currentUser
                    signinButtonGoogle.visibility  =  View.VISIBLE

                    Handler().postDelayed({ progressDialog.dismiss() }, 0)
                    val leagueIntent = Intent(this, homeActivity::class.java)
                    startActivity(leagueIntent)

                } else {

                    Toast.makeText(applicationContext, "Authentication Failed.", Toast.LENGTH_SHORT).show()
                    signinButtonGoogle.visibility  =  View.VISIBLE

                    Handler().postDelayed({ progressDialog.dismiss() }, 0)

                }
            }
    }

    companion object {
        const val RC_SIGN_IN = 123
    }
}

1 Ответ

0 голосов
/ 06 мая 2020

, потому что в Google Play есть еще один SH1 для выпуска, поэтому вы можете найти его как image и goto firbase manger для своего проекта, затем добавить новый,

image

...