使用我们的 Android 示例应用了解登录功能的工作原理,或向现有应用添加登录功能。
必需:最新版 Android Studio 和 Google Play 服务。
获取项目
如果这是您首次使用 Google 服务示例,请查看 google-services 代码库。
$ git clone https://github.com/googlesamples/google-services.git
打开 Android Studio。
选择 File > Open,浏览到克隆 google-services
代码库的位置,然后打开 google-services/android/signin
。
配置 Google API 项目
要使用示例,您需要提供一些额外信息才能完成项目设置。点击下面的按钮,并在出现提示时指定软件包名称 com
。您还需要提供签名证书的 SHA-1 哈希。如需了解相关信息,请参阅对客户端进行身份验证。
此示例的 IdTokenActivity
和 ServerAuthCodeActivity
示例要求您指定 OAuth 2.0 网页客户端 ID。在真实应用中,此客户端 ID 代表应用的后端服务器。您在上述项目中配置项目时,创建了用于此用途的客户端 ID。
打开 Google API 控制台即可找到此值:
Google API 控制台您的 Web 服务器客户端 ID 显示在 Web 客户端(自动创建用于 Google 登录)旁。将客户端 ID 复制并粘贴到项目的 strings.xml
文件中:
<string name="server_client_id">YOUR_SERVER_CLIENT_ID</string>
运行示例
现在,您可以开始构建示例,并从 Android Studio 运行它了。
构建示例并点击“运行”按钮,然后选择安装了最新版 Google Play 服务的已连接设备或模拟器。

工作原理
应用会构建 GoogleSignInClient
,指定所需的登录选项。然后,当用户点击登录按钮时,应用会启动登录 intent,提示用户使用 Google 帐号登录。
// 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);
private void signIn() { Intent signInIntent = mGoogleSignInClient.getSignInIntent(); startActivityForResult(signInIntent, RC_SIGN_IN); }
后续步骤
如果您想了解如何在自己的应用中实现 Google 登录功能,请参阅我们的实现指南。
您是否有良好的体验?遇到了问题? 请告诉我们!