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

六眼飞鱼酱① 提交于 2019-12-07 06:02:41

问题


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?


回答1:


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


来源:https://stackoverflow.com/questions/57575770/com-google-android-gms-common-api-googleapiclient-is-deprecated

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!