iOSでのGoogle Login
インストール手順と、このプラグインの完全なMarkdownガイドを含むセットアッププロンプトをコピーします。
はじめに
セクション「はじめに」このガイドでは、iOS向けにCapgo Social LoginでGoogleログインを設定する方法を学びます。 すでに以下を読んでいるものとします。 一般的なセットアップガイド.
iOS で Google Login を使う
セクション「iOSでのGoogleログインの使用」このパートでは、iOSでGoogleログインを設定する方法を説明します。
-
GoogleコンソールでiOSクライアントIDを作成する
-
検索バーをクリックします
-
を検索し、
credentials次をクリックします:APIs and Services該当の項目(スクリーンショットの番号2)
-
次の
create credentials
-
選択します
OAuth client ID
-
次の
Application typeまでiOS
-
Bundle ID を確認する
-
Xcode を開く
-
ダブルクリック
App
-
Xcode の Targets セクションで App が選択されていることを確認
Targets -> App
-
検索
Bundle Identifier
-
Google Console に戻り、Bundle ID を貼り付け
Bundle Identifier次のように分類していますBundle ID
-
-
必要に応じて、
App Store IDまたはTeam IDApp Store にアプリを公開している場合は、クライアント ID に追加してください -
すべての詳細を入力した後、
create
-
クリック
OK
-
新しく作成した iOS クライアントを開く
-
以下のデータをコピー
-
-
アプリの Info.plist を変更する
-
Xcode を開き、
Info.plistファイル
-
このファイルを右クリックして、ソースとして開く code を選択します
-
の
Plistファイルの末尾に</dict>タグを設定します
-
閉じ
</dict>タグを設定します
<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
-
-
JavaScript/TypeScript の code で Google ログインをセットアップ
-
インポート
SocialLoginとCapacitorimport { SocialLogin } from '@capgo/capacitor-social-login';import { Capacitor } from '@capacitor/core'; -
initialize メソッドを呼び出します(1回だけ呼び出してください)
基本セットアップ(オンラインモード - ほとんどのアプリで推奨):
// onMounted is Vue specificonMounted(() => {SocialLogin.initialize({google: {iOSClientId: '673324426943-redacted.apps.googleusercontent.com',mode: 'online' // Default mode}})})追加の Client 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))オフラインモードの場合:
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 のログインフローが正常に動作しているはずです
-
既知の問題
セクション「既知の問題」Privacy Screen プラグインの非互換性
セクション「Privacy Screen プラグインとの非互換性」Google Login プラグインは以下と非互換です @capacitor/privacy-screen両方のプラグインを併用すると、Google LoginのWebViewがPrivacy Screenによって中断されます。
回避策: 呼び出す 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 Login を続行する
セクション「iOSでGoogle Loginから続行する」使用している場合 iOSでのGoogle Login 認証とアカウントフローを計画するには、これを次と連携させてください @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 の実装の詳細、および 2要素認証 二要素認証の実装の詳細については。