iOS 上的 Google 登录
复制包含安装步骤和本插件全markdown指南的设置提示。
在本指南中,您将学习如何使用Capgo Social Login for iOS设置Google登录。 我假设您已经阅读了 一般设置指南.
在 iOS 中使用 Google 登录
在 iOS 中使用 Google 登录在本部分中,您将学习如何在 iOS 中设置 Google 登录。
-
在 Google 控制台中创建 iOS 客户端 ID
-
点击搜索栏
-
在 Google 控制台中搜索
credentials并点击APIs and Services截图中第 2 个选项(数字 2)
-
点击
create credentials
-
选择
OAuth client ID
-
选择
Application type到iOS
-
找到 bundle ID
-
打开 Xcode
-
双击 Xcode 项目导航器中的 App 目标
App
-
目标部分中 App 选中
Targets -> App
-
找到您的
Bundle Identifier
-
返回Google控制台,粘贴你的
Bundle Identifier到Bundle ID
-
-
如果你已经将应用程序发布到App Store,则可选地添加你的
App Store ID或Team ID到客户端ID中 -
填写所有详细信息后,点击
create
-
点击
OK
-
打开新创建的iOS客户端
-
复制以下数据
-
-
在这个
-
打开 Xcode 并在 Xcode 项目导航器中找到文件
Info.plist__CAPGO_KEEP_0__
-
右键单击此文件并以源代码打开 code
-
您的文件底部会看到一个
PlistInfo.plist 文件中的</dict>关闭字典标签
-
Info.plist 文件中插入 URL 方案 __CAPGO_KEEP_0__
</dict>Info.plist 文件中插入 URL 方案 __CAPGO_KEEP_0__
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string></array></dict></array> -
修改为
YOUR_DOT_REVERSED_IOS_CLIENT_ID到上一步中复制的值
-
保存文件为
Command + S
-
-
修改
AppDelegate.swift-
打开AppDelegate
-
插入
import GoogleSignIn文件顶部
-
找到
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])函数
-
修改函数以使其类似于此
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {// Called when the app was launched with a url. Feel free to add additional processing here,// but if you want the App API to support tracking app url opens, make sure to keep this callvar handled: Boolhandled = GIDSignIn.sharedInstance.handle(url)if handled {return true}return ApplicationDelegateProxy.shared.application(app, open: url, options: options)}
-
以
Command + S
-
-
Setup JavaScript/TypeScript中的Google登录code
-
导入
SocialLogin和Capacitorimport { SocialLogin } from '@capgo/capacitor-social-login';import { Capacitor } from '@capacitor/core'; -
调用初始化方法 (仅需调用一次)
基本设置 (在线模式 - 大多数应用程序的推荐设置):
// onMounted is Vue specificonMounted(() => {SocialLogin.initialize({google: {iOSClientId: '673324426943-redacted.apps.googleusercontent.com',mode: 'online' // Default mode}})})高级设置 (附加客户端 ID):
onMounted(() => {SocialLogin.initialize({google: {webClientId: 'YOUR_WEB_CLIENT_ID', // Optional: for web platform supportiOSClientId: 'YOUR_IOS_CLIENT_ID', // Required: from step 1iOSServerClientId: 'YOUR_WEB_CLIENT_ID', // Optional: same as webClientId, needed for some advanced featuresmode: 'online' // 'online' or 'offline'}})}) -
实现登录功能。创建一个按钮并在点击时运行以下 code
在线模式:
const res = await SocialLogin.login({provider: 'google',options: {}})// handle the response - contains user dataconsole.log(JSON.stringify(res))For offline mode:
const res = await SocialLogin.login({provider: 'google',options: {forceRefreshToken: true // Recommended for offline mode}})// res contains serverAuthCode, not user data// Send serverAuthCode to your backend to get user information// Do not call SocialLogin.refresh() in offline modeconsole.log('Server auth code:', res.result.serverAuthCode)
-
-
测试您的应用
-
构建您的应用并运行
cap sync -
如果您已经完成了所有步骤,应该会看到Google登录流程正常工作
-
已知问题
已知问题部分隐私屏幕插件不兼容性
隐私屏幕插件不兼容性Google 登录插件与 @capacitor/privacy-screen当同时使用这两个插件时,Google 登录 webview 将被隐私屏幕中断。
解决方法: 在调用登录函数之前调用 await PrivacyScreen.disable(); 复制到剪贴板
import { PrivacyScreen } from '@capacitor/privacy-screen';import { SocialLogin } from '@capgo/capacitor-social-login';
await PrivacyScreen.disable();await SocialLogin.login({ provider: 'google', options: {}});如果您正在使用
iOS 上的 Google 登录继续使用 iOS 上的 Google 登录 如果您正在使用 规划身份验证和帐户流程,连接它 使用@capgo/capacitor-social-login 使用@capgo/capacitor-social-login的原生功能 原生@capgo/capacitor-social-login 原生@capgo/capacitor-social-login的实现细节 原生@capgo/capacitor-passkey 原生@capgo/capacitor-passkey的实现细节 原生@capgo/capacitor-native-biometric 原生@capgo/capacitor-native-biometric的实现细节 两因素身份验证 两因素身份验证的实现细节