android - Why Google sign in result is null when application is uploaded to PlayStore -


when test application's app_release.apk on android phones google sign in result true. when upload on playstore or update it's version , download playstore, google handle sign in result null, there not allowing me authenticate users using google accounts. 1 knows screwing? idea problem, please me.

baseactivity.java public abstract class baseactivity extends appcompatactivity implements googleapiclient.onconnectionfailedlistener {

protected string mprovider, mencodedemail; protected googleapiclient mgoogleapiclient; private static final string tag = "baseactivity"; private firebaseauth mauth; private firebaseauth.authstatelistener mauthlistener, mauthlistener1; protected firebase mfirebaseref;   @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);        /* setup google api object allow google logins */     googlesigninoptions gso = new googlesigninoptions.builder(googlesigninoptions.default_sign_in)             .requestidtoken(getstring(r.string.default_web_client_id))             .requestemail()             .build();      /**      * build googleapiclient access google sign-in api ,      * options specified gso.      */     mgoogleapiclient = new googleapiclient.builder(this)             .enableautomanage(this /* fragmentactivity */, /* onconnectionfailedlistener */)             .addapi(auth.google_sign_in_api, gso)             .build();               /*in oncreate() method, initialize firebaseauth instance , authstatelistner     * method can track user signs in or out*/      mauth = firebaseauth.getinstance();    /* mauthlistener = new firebaseauth.authstatelistener() {         @override         public void onauthstatechanged(@nonnull firebaseauth firebaseauth) {             firebaseuser user = firebaseauth.getcurrentuser();             if (user != null) {                 // user signed in                 log.d(tag, "onauthstatechanged:signed_in:" + user.getuid());             } else {                 // user signed out                takeusertologinscreenonunauth();                 log.d(tag, "onauthstatechanged:signed_out");             }             // ...         }     };*/      /**      * getting mprovider , mencodedemail sharedpreferences      */     final sharedpreferences sp = preferencemanager.getdefaultsharedpreferences(baseactivity.this);     /* mencodedemail , mprovider sharedpreferences, use null default value */     mencodedemail = sp.getstring(constants.key_encoded_email, null);     mprovider = sp.getstring(constants.key_provider, null); 

loginactivity.java

   googlesigninaccount mgoogleaccount;     private final context mcontext = this;     private firebaseauth mauth;      private string idtoken;     private string name, email, phonenumber;     private string photo;     private string circle;     private string preferredcircle;     private uri photouri;     private string mencodedemail;     private boolean isselectspinner1 = false, isselectspinner2 = false;     materialspinner spinner1, spinner2;      //private firebaseauth mauth;     //storage database variables     private storagereference mimagestorage;       @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.login); }     */     public void initializescreen() {        /* setup google sign in */         setupgooglesignin();     }      /**      * show error toast users      */     private void showerrortoast(string message) {         toast.maketext(loginactivity.this, message, toast.length_long).show();     }       /**      * google sign in code      *      * code boiler plate      * https://developers.google.com/identity/sign-in/android/start-integrating      * ,      * https://github.com/googlesamples/google-services/blob/master/android/signin/app/src/main/java/com/google/samples/quickstart/signin/signinactivity.java      *      * big picture steps are:      * 1. user clicks sign in google button      * 2. intent started sign in.      *      - if connection fails caught in onconnectionfailed callback      *      - if finishes, onactivityresult called correct request code.      * 3. if sign in successful, set mgoogleaccount current account ,      * call googleoauthtokenandlogin      * 4. getgoogleoauthtokenandlogin launches asynctask oauth2 token google.      * 5. once token retrieved available in onpostexecute method of      * asynctask. **this token required firebase**      */       /* sets google sign in button : https://developers.google.com/android/reference/com/google/android/gms/common/signinbutton */     private void setupgooglesignin() {         button signinbutton = (button)findviewbyid(r.id.login_with_google);         signinbutton.setonclicklistener(new view.onclicklistener() {             @override             public void onclick(view v) {                  if(!isselectspinner1 && circle == null){                     spinner1.seterror("please select current circle(city) in posted");                 }                 else if(!isselectspinner2 && preferredcircle == null ) {                     spinner2.seterror("please select preferred circle in want work or move");                  }else{                     onsigningooglepressed(v);                  }             }         });     }      /**      * sign in google plus when user clicks "sign in google" textview (button)      */     public void onsigningooglepressed(view view) {          intent signinintent = auth.googlesigninapi.getsigninintent(mgoogleapiclient);         startactivityforresult(signinintent, rc_google_login);         log.d(tag, "signingooglepressed");       //  mauthprogressdialog.show();      }      @override     public void onactivityresult(int requestcode, int resultcode, intent data) {         super.onactivityresult(requestcode, resultcode, data);         /* result returned launching intent googlesigninapi.getsigninintent(...); */         if (requestcode == rc_google_login) {             googlesigninresult result = auth.googlesigninapi.getsigninresultfromintent(data);             handlesigninresult(result);         }     }     /**      * callback triggered when startactivityforresult finishes. requestcode maps      * value passed startactivityforresult.      */      private void handlesigninresult(googlesigninresult result) {         log.e(log_tag, "handlesigninresult:" + result.issuccess());          if (result.issuccess()) {             /* signed in successfully, oauth token */             mgoogleaccount = result.getsigninaccount();             firebaseauthwithgoogle(mgoogleaccount);             //getgoogleoauthtokenandlogin();          } else {             if (result.getstatus().getstatuscode() == googlesigninstatuscodes.sign_in_cancelled) {                 showerrortoast("the sign in cancelled. make sure you're connected internet , try again.");             } else {                // showerrortoast("error handling sign in: " + result.getstatus().getstatusmessage());             }            // mauthprogressdialog.dismiss();         }     } 

i have checked google-services.json file package name same in project.

make sure sha1 keys same in both firebase console , andeoid developer console. link project in firebase console going settings linking tab i.e. package name should present.


Comments

Popular posts from this blog

javascript - Create a stacked percentage column -

Optimising Firebase database by automatically overwriting data -

javascript - Angular UI-Grid customTemplate directive causing rows to load slowly/? -