コンテンツにジャンプ

GoogleログインのiOS

GitHub

導入

導入

このガイドでは、iOS向けにGoogleログインを設定する方法を学びます。 Capgo Social Loginの設定を完了します。 既読の一般設定ガイドがあることを前提としています。 一般設定ガイド.

iOS向けのGoogleコンソールのクライアントIDを作成する

  1. 検索バーをクリックする

    1. Googleコンソールの検索バー

      で検索する
    2. でクリックする credentials 1つ目(スクリーンショットの2番目) APIs and Services 検索結果のクレデンシャルオプションとAPIs & Servicesが強調表示されている

      __CAPGO_KEEP_0__
    3. クリック create credentials

      Google Consoleの
    4. 選択 OAuth client ID

      認証クライアントIDオプションを選択
    5. 選択 Application type to iOS

      iOSオプションが強調表示されているアプリケーションタイプの選択
    6. バンドルIDを探す

      1. Xcodeを開く

      2. Xcodeプロジェクトナビゲータで App

        ダブルクリック
      3. Xcodeプロジェクトナビゲータでアプリターゲット Targets -> App

        XcodeのターゲットセクションにAppを選択
      4. あなたの Bundle Identifier

        Xcodeプロジェクト設定のBundle Identifierフィールド
      5. Googleコンソールに戻り、Bundle IDフィールドにあなたの Bundle Identifier を Bundle ID

        GoogleコンソールのiOSクライアント作成フォームのBundle IDフィールドに
    7. オプションで、 App Store ID または Team ID クライアントIDに

    8. アプリをApp Storeに公開した場合 create

      すべての詳細を入力したら、
    9. Click OK

      クライアント ID の作成確認ダイアログの OK ボタン
    10. 新しく作成した iOS クライアントを開く

      資格情報リスト内の新しく作成した iOS クライアント
    11. __CAPGO_KEEP_0__をコピーするデータ

      クライアント ID の詳細、クライアント ID とその逆をコピーする
  2. アプリの Info.plist を変更する

    1. Xcode を開いてプロジェクト ナビゲーターで Info.plist ファイル

      Xcode プロジェクト ナビゲーターで Info.plist ファイルを見つける
    2. このファイルを右クリックし、ソースとして開く code

      右クリック メニューの Open As Source Code オプション
    3. ファイルの下部に、 Plist タグ </dict> tag

      クロージング dict タグの直前に、以下のフラグメントを挿入する
    4. クロージング dict タグの直前に、以下のフラグメントを挿入する </dict> タグ

      URLスキームにcodeを挿入したInfo.plist
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
    5. 変更する YOUR_DOT_REVERSED_IOS_CLIENT_ID 前のステップでコピーした値に変更する

      URLスキームに実際のリバースクライアントIDを挿入したInfo.plist
    6. ファイルを保存する Command + S

  3. 修正する AppDelegate.swift

    1. Googleのソーシャルログインを

      Xcodeプロジェクトナビゲータで
    2. Insert import GoogleSignIn AppDelegate.swiftファイルの

      GoogleSignInのimportを追加
    3. Find the func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) function

      AppDelegate.swiftファイルの
    4. AppDelegate.swiftファイルの

      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 call
      var handled: Bool
      handled = GIDSignIn.sharedInstance.handle(url)
      if handled {
      return true
      }
      return ApplicationDelegateProxy.shared.application(app, open: url, options: options)
      }
      AppDelegate.swiftファイルの
    5. ファイルを保存してください Command + S

  4. Google ログインを設定するには、JavaScript/TypeScript code

    1. インポート SocialLogin そして Capacitor

      import { SocialLogin } from '@capgo/capacitor-social-login';
      import { Capacitor } from '@capacitor/core';
    2. 初期化メソッドを呼び出してください (これは、1 回だけ呼び出してください)

      基本設定 (オンラインモード - 大多数のアプリ向けに推奨)

      // onMounted is Vue specific
      onMounted(() => {
      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 support
      iOSClientId: 'YOUR_IOS_CLIENT_ID', // Required: from step 1
      iOSServerClientId: 'YOUR_WEB_CLIENT_ID', // Optional: same as webClientId, needed for some advanced features
      mode: 'online' // 'online' or 'offline'
      }
      })
      })
    3. ソーシャルログイン機能を実装します。ボタンを作成し、次のcodeをクリック時に実行します。

      オンラインモードの場合:

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // handle the response - contains user data
      console.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 mode
      console.log('Server auth code:', res.result.serverAuthCode)
  5. アプリケーションをテストする

    1. アプリをビルドして実行する cap sync

    2. すべてが正しく行われた場合、Google ログインフローが正常に動作するはずです

      iOS 上の Google ログインフローを示すデモ、サインインプロセスと成功した認証を示しています

プライバシースクリーン プラグインの不相応

プライバシースクリーン プラグインの不相応

Google ログイン プラグインは @capacitor/プライバシースクリーンプライバシースクリーンが表示されるため、Google ログインのウェブビューが中断されます。

対処法: 呼び出し 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: {}
});

Google ログイン on iOS から続けて

Section titled “Google ログイン on iOS から続けて”

iOSでGoogleログインを使用している場合 GoogleログインをiOSで使用する 認証とアカウントフローの計画に使用するには、Googleログインを接続します。 Using @capgo/capacitor-social-login Using @capgo/capacitor-social-login Using @capgo/capacitor-social-login Using @capgo/capacitor-passkey Using @capgo/capacitor-passkey Using @capgo/capacitor-native-biometric Using @capgo/capacitor-native-biometric @capgo/capacitor-native-biometricの実装詳細について 2要素認証 2要素認証の実装詳細については