在 Android 应用中集成 Google 登录

2024 年 11 月 12 日 | 阅读 4 分钟

在本教程中,我们将使用Google API在我们的 Android 应用程序中集成Google 登录功能。在 Android 应用中结合 Google API 可以帮助用户使用 Google 账户登录。

要将 Google 登录 API 集成到我们的应用中,我们需要将我们的应用配置到 Google 开发者账户,并为 Android 应用程序下载'google-service.json'文件。

在 Google 开发者账户上配置 Android 应用的步骤

1. 在 https://developers.google.com/identity/sign-in/android/start-integrating 创建一个 Google 开发者账户,然后点击“获取配置文件”。


android Google Sign-In Integrating

2. 填写所有应用程序详情,选择您的国家/地区,然后点击“选择和配置服务”。


android Google Sign-In Integrating

3. 成功创建 Google 应用支持配置后,它将重定向到下一个窗口以选择 Google 服务。我们将选择 Google 登录服务。


android Google Sign-In Integrating

4. 现在,我们需要提供应用程序的签名认证SHA-1密钥。

5. 有两种不同的方法可以生成认证 SHA-1 密钥。

  • 通过命令提示符使用。

Windows

Mac/Linux

  • 通过 Android Studio 本身。
    1. 打开 Android 项目。
    2. 从右侧面板打开 Gradle 选项卡。
    3. 双击“signingReport”。
    4. 我们将在“Gradle 控制台”中找到应用的 SHA-1 密钥。

android Google Sign-In Integrating

6. 将生成的 SHA-1 密钥粘贴到 Google 登录服务中,然后点击“启用 Google 登录”和“生成认证文件”。


android Google Sign-In Integrating

7. 现在下载'google-services.json'文件以将其集成到 Android 应用程序中。


android Google Sign-In Integrating

在 Android 应用中集成 Google 登录的示例

在本例中,我们将在 Android 应用中集成 Google 登录。一旦用户通过 Google 登录成功,我们将重定向到下一个活动(ProfileActivity)并检索用户详细信息。

我们需要将下载的 'google-services.json' 文件粘贴到我们的 Android 项目应用目录中。


android Google Sign-In Integrating

所需权限

AndroidMenifest.xml文件中添加 Internet 权限。

build.gradle (项目)

build.gradle文件中添加以下依赖项。

build.gradle (模块)

activity_main.xml

activity_main.xml文件中添加 TextView 和 GoogleSignInButton。

MainActivity.java

在 MainActivity.java 类中,我们调用Auth.GoogleSignInApi.getSignInIntent()方法通过 Google 登录 API 进行登录。Google API 的GoogleApiClient.OnConnectionFailedListener接口覆盖了其未实现的onConnectionFailed(ConnectionResult)方法,该方法返回连接失败结果。GoogleApiClient类用于管理 Android 应用程序与 Google 登录 API 之间的连接。

activity_profile.xml

activity_profile.xml文件中添加以下组件。

创建一个ProfileActivity.java类,我们将在其中显示用户成功登录后的详细信息。

ProfileActivity.java

在此类中,如果用户成功登录,我们将检索用户详细信息。GoogleSignInResult类实现了 Result 接口,该接口表示调用 Google Play Services API 方法的最终结果。

GoogleSignInAccount类保存用户的基本信息。

输出

android Google Sign-In Integrating android Google Sign-In Integrating
android Google Sign-In Integrating android Google Sign-In Integrating
下一主题集成 LinkedIn