Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'com.google.android.gms.common.api.GoogleApiClient' is deprecated

I'm using in my app Google sign-in method and I have updated today my dependencies to:

implementation "com.google.firebase:firebase-core:17.1.0"
implementation "com.google.firebase:firebase-auth:19.0.0"

And I stared to get warnings about deprecated classes.

Warning:(26, 12) 'com.google.android.gms.common.api.GoogleApiClient' is deprecated

And

Warning:(27, 36) 'com.google.android.gms.common.api.GoogleApiClient.Builder' is deprecated

This is my code:

static GoogleApiClient provideGoogleApiClient(Application app) { //deprecated
    return new GoogleApiClient.Builder(app) //deprecated
            .addApi(Auth.GOOGLE_SIGN_IN_API).build();
}

My app is still working but how can I get rid of this warnings without the need to downgrade the versions?

like image 359
Lilian Sorlanski Avatar asked Aug 20 '19 14:08

Lilian Sorlanski


1 Answers

Yeah GoogleApiClient has been deprecated.

As per the documentation:

When you want to make a call to one of the Google APIs provided in the Google Play services library (such as Google Sign-in and Drive), you need to create an instance of one the API client objects, which are subclasses of GoogleApi

Particularly for the authentication api, you now need to use GoogleSignInClient.

    // Configure sign-in to request the user's ID, email address, and basic
    // profile. ID and basic profile are included in DEFAULT_SIGN_IN.
    GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestEmail()
            .build();

    // Build a GoogleSignInClient with the options specified by gso.
    mGoogleSignInClient = GoogleSignIn.getClient(this, gso);

You may refer following documentations for more details:

  • Integrating Google Sign-In into Your Android App
  • Moving Past GoogleApiClient
like image 108
Paresh Mayani Avatar answered Nov 20 '22 01:11

Paresh Mayani