2016-06-29 78 views
1

我正在尝试使用Firebase google登录方法注册我的应用程序。 googleSignInResult.isSuccess()返回始终为false。我试着搜索所有可能的网站。但无法找到我的代码有什么问题。Firebase谷歌登录结果总是假?

googleSignInButton = (Button)findViewById(R.id.googleSignInButton); 
    googleSignInButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      Intent googleSignInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); 
      startActivityForResult(googleSignInIntent, RC_SIGN_IN); 

     } 
    }); 

代码处理结果

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 



    if(requestCode == RC_SIGN_IN){ 

     mAuth = FirebaseAuth.getInstance(); 
     GoogleSignInResult googleSignInResult = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 
     Log.d(TAG , "Google signIn" + googleSignInResult.isSuccess()); 
     if(googleSignInResult.isSuccess()) 
     { 
      GoogleSignInAccount googleSignInAccount = googleSignInResult.getSignInAccount(); 
      AuthCredential accountAuthCredential = GoogleAuthProvider 
        .getCredential(googleSignInAccount.getIdToken(),null); 
      mAuth.signInWithCredential(accountAuthCredential).addOnCompleteListener(new OnCompleteListener<AuthResult>() { 
       @Override 
       public void onComplete(@NonNull Task<AuthResult> task) { 
        if(task.isSuccessful()){ 

         Intent i = new Intent(getApplicationContext(), MainActivity.class); 
         startActivity(i); 

        }else{ 

        } 
       } 
      }); 


     }else { 


     } 
    } 
} 
+0

难道ü在火力控制台启用? –

+0

是的。我已启用Firebase控制台。 –

+0

您可以发布一些对您尝试的解决方案的引用或在此处引入更多的代码。 – devprashant

回答

3

我有类似的问题。以下解决它:

  1. 确保SHA1在火力地堡项目设置配置
  2. 在的build.gradle(应用程序)组:

    应用插件: 'com.android.application'

    在文件的开头和

    应用插件: 'com.google.gms.google服务' 末依赖性{....}

    希望以后这有助于