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

20,521

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:

Share:
20,521
Lilian Sorlanski
Author by

Lilian Sorlanski

Updated on July 09, 2022

Comments

  • Lilian Sorlanski
    Lilian Sorlanski almost 2 years

    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?

  • Lilian Sorlanski
    Lilian Sorlanski over 4 years
    Thanks for your answer. So can I convert my code to be used with GoogleSignInClient?
  • Lilian Sorlanski
    Lilian Sorlanski over 4 years
    Oh, it worked, thank you so much. One more small question please, when I used GoogleApiClient, in my MainActivity I was always googleApiClient.connect(); in the onStart() and googleApiClient.disconnect(); in the onStop(). Is this still required?
  • Jim Grant
    Jim Grant over 3 years
    Welcome to SO! Your answer looks like to a complete application, whereas, if this is answering the originators question, you should put in some helpful comments.
  • android developer
    android developer about 3 years
    The GoogleApiClient has many functions though that don't seem to exist for GoogleSignInClient though. How do you deal with those? Examples: blockingConnect, isConnected,clearDefaultAccountAndReconnect,disconnect . Also this function uses it: Auth.GoogleSignInApi.silentSignIn()