Google登录按钮setScopes()已弃用

Abh*_*ngh 3 java android google-signin

今天我已将我的播放服务依赖项升级为compile 'com.google.android.gms:play-services-auth:10.0.1'.现在我看到setScopes已被弃用.

private GoogleApiClient mGoogleApiClient;
private GoogleSignInOptions gso;


gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestEmail()
            .build();
mGoogleApiClient = new GoogleApiClient.Builder(mContext)
            .enableAutoManage(this, this)
            .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
            .build();
btnGoogleSignIn.s?e?t?S?c?o?p?e?s?(gso.getScopeArray());
Run Code Online (Sandbox Code Playgroud)

现在有什么替代方案.如何设置范围?

Ste*_*eff 5

您不再需要在按钮上设置范围,因为该按钮不再取决于所使用的范围.过去,如果使用了plus.login范围并且需要G +帐户,则该按钮曾是红色G +登录按钮.已不再有Go​​ogle+帐户要求.有关详细信息,请参阅https://developers.googleblog.com/2016/11/moving-to-google-sign-in-for-a-better-user-experience-and-higher-conversion-rates.html

如果您想要请求其他范围,请在需要访问特定数据(例如日历/联系人)时在上下文中执行此操作,并向用户说明您将提示他们的原因(与Marshmallow +设备的运行时权限相同的UX模式)和iOS)并在为您的登录请求构建时使用requestScopesGoogleSignInOptions.有关详细信息,请参阅https://developers.google.com/identity/sign-in/android/additional-scopes.