Android 上的 Google 登录
复制一个包含安装步骤和本插件的完整 Markdown 指南的设置提示。
简介
简介部分在本指南中,您将学习如何使用 Capgo Android 社交登录设置 Google 登录。 我假设您已经阅读了 通用设置指南.
在 Android 上使用 Google 登录
在 Android 上使用 Google 登录在本部分中,您将学习如何在 Android 上设置 Google 登录。
-
创建Android客户端ID。
-
在搜索栏中点击
-
在 Google 控制台中
credentials并点击屏幕截图中的APIs and Services第 2 项
-
点击
create credentials
-
选择
OAuth client ID
-
选择
Android应用程序类型
-
打开 Android Studio
-
在导航器的最下方找到
Gradle Scripts
-
查找
build.gradle为模块app
-
复制
android.defaultConfig.applicationId将用于package name在 Google 控制台
-
现在,打开终端。确保您位于应用程序的
android应用程序的文件夹并运行./gradlew signInReport
- 滚动到此命令的顶部。您应该看到以下内容。复制
SHA1.
- 现在,返回Google控制台。输入您的
applicationId作为Package Name并将您的SHA1粘贴到证书字段中,点击create
-
-
创建一个Web客户端(这是为Android必需的)
-
前往
Create credentials页面在Google控制台 -
设置应用类型为
Web
-
點擊
Create
-
複製客戶端 ID,您將使用它作為
webClientId在您的 JS/TS code
-
-
修改您的
MainActivity-
請在 Android Studio 中打開您的應用程式。您可以
cap open android -
查找
MainActivity.java-
打開
app目錄
-
查找
java
-
找到你的
MainActivity.java并点击它
-
-
修改
MainActivity.java请添加以下内容 codeimport ee.forgr.capacitor.social.login.GoogleProvider;import ee.forgr.capacitor.social.login.SocialLoginPlugin;import ee.forgr.capacitor.social.login.ModifiedMainActivityForSocialLoginPlugin;import com.getcapacitor.PluginHandle;import com.getcapacitor.Plugin;import android.content.Intent;import android.util.Log;import com.getcapacitor.BridgeActivity;// ModifiedMainActivityForSocialLoginPlugin is VERY VERY important !!!!!!public class MainActivity extends BridgeActivity implements ModifiedMainActivityForSocialLoginPlugin {@Overridepublic void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode >= GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MIN && requestCode < GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MAX) {PluginHandle pluginHandle = getBridge().getPlugin("SocialLogin");if (pluginHandle == null) {Log.i("Google Activity Result", "SocialLogin login handle is null");return;}Plugin plugin = pluginHandle.getInstance();if (!(plugin instanceof SocialLoginPlugin)) {Log.i("Google Activity Result", "SocialLogin plugin instance is not SocialLoginPlugin");return;}((SocialLoginPlugin) plugin).handleGoogleLoginIntent(requestCode, data);}}// This function will never be called, leave it empty@Overridepublic void IHaveModifiedTheMainActivityForTheUseWithSocialLoginPlugin() {}} -
保存文件
-
-
在应用程序中使用Google登录
-
首先,导入
SocialLoginimport { SocialLogin } from '@capgo/capacitor-social-login'; -
调用initialize。应只调用一次。
// onMounted is Vue specific// webClientId is the client ID you got in the web client creation step not the android client ID.onMounted(() => {SocialLogin.initialize({google: {webClientId: '673324426943-avl4v9ubdas7a0u7igf7in03pdj1dkmg.apps.googleusercontent.com',}})}) -
呼叫
SocialLogin.login. 创建一个按钮并在点击时运行以下 code。const res = await SocialLogin.login({provider: 'google',options: {}})// handle the responseconsole.log(JSON.stringify(res))
-
-
在您的后端存储 Google 刷新令牌,并在后端刷新
-
进入
Device manager并点击加号按钮
-
创建虚拟设备
-
选择任何具有
Play Store图标的设备
如您所见,
pixel 8支持Play Store服务 -
点击
next
-
确保操作系统映像类型为
Google Play. 必须是 系统映像类型Google Play
-
点击下一步
-
设备配置验证屏幕
-
并启动您的模拟器
Device Manager设备管理器中列出了虚拟设备并显示播放按钮
-
启动模拟器后,进入其设置
-
进入
Google Play
- 点击
Update等待约60秒
-
-
测试您的应用
如果您一切都正确,应该看到Google登录流程正常工作:
故障排除
标题“故障排除”如果您遇到任何问题,请查看 Github.
与Google登录相关的问题 总是 与SHA1证书有关
如果您无法获得开发SHA1证书,请尝试使用自定义keystore 这里 是如何添加keystore到您的项目的注释