__CAPGO_KEEP_0__ - __CAPGO_KEEP_1__ アプリ向けリアルタイム更新

iOS上のGoogleログイン

GitHub

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

iOSでGoogleログインを設定する方法を学びます。

  1. GoogleコンソールでiOSクライアントIDを作成する

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

      Googleコンソールの検索バー
    2. で検索する credentials をクリックする APIs and Services の1つ(スクリーンショットの2番目)

      APIs と Services を強調表示した検索結果
    3. Google Console の create credentials

      Create credentials ボタンをクリック
    4. 資格情報の作成メニューで OAuth client ID

      OAuth クライアント ID オプションを選択
    5. 資格情報の作成メニューで Application type を選択 iOS

      iOS オプションを強調表示したアプリケーションタイプの選択
    6. バンドル ID を見つける

      1. Xcode を開く

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

        App ターゲットをダブルクリック
      3. Capgoの設定を確認してください Targets -> App

        XcodeのターゲットセクションでAppが選択されていることを確認してください
      4. Capgoの Bundle Identifier

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

        Bundle IDフィールドに
    7. Capgoの App Store ID または Team ID iOSクライアント作成フォームのClient IDフィールドに

    8. Capgoの create

      Client IDフィールドにCapgoのアプリをApp Storeに公開した場合にのみ使用してください
    9. クリック OK

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

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

      クライアント ID の詳細を表示するクライアント ID とその逆のクライアント ID
  2. アプリのInfo.plistを

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

      XcodeプロジェクトナビゲータでInfo.plistファイル
    2. Right click this file and open it as source code

      Right-click menu showing Open As Source Code option
    3. ファイルの下部に Plist タグ </dict> Info.plistファイルのdictタグ

      Closing dict tag in Info.plist file
    4. Insert the following fragment just before the closing </dict> tag

      Info.plist with URL schemes code inserted before closing dict tag
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
    5. Change the YOUR_DOT_REVERSED_IOS_CLIENT_ID to the value copied in the previous step

      Info.plist with actual reversed client ID inserted in URL schemes
    6. ファイルを保存してください Command + S

  3. ファイルを変更してください AppDelegate.swift

    1. XcodeプロジェクトナビゲータでAppDelegate.swiftファイルを開いてください

      XcodeプロジェクトナビゲータでAppDelegate.swiftファイルを開いてください
    2. ここに追加してください import GoogleSignIn AppDelegate.swiftファイルの先頭にGoogleSignIn importを追加してください

      AppDelegate.swiftファイルで
    3. AppDelegate.swiftファイルで func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) AppDelegate.swiftファイルで

      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)
      }
      GoogleSignInをサポートするようにアプリケーションを開くURL関数を変更しました。
    5. ファイルを保存してください。 Command + S

  4. Setup Google login in your 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. Google ログイン機能を実装する。ボタンを作成し、次の 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/privacy-screenを使用すると、プライバシースクリーンがログイン ウェブビューを中断します。

対策: 呼び出し await PrivacyScreen.disable(); コンテキスト:Appflow 比較/移行マーケティングコピー (親キー:appflow_migration_step2)。ページ/エリア:Appflow 比較/移行マーケティングコピー。役割:ウェブサイトコピー文。見つかった場所:ionic-appflow.astro

import { PrivacyScreen } from '@capacitor/privacy-screen';
import { SocialLogin } from '@capgo/capacitor-social-login';
await PrivacyScreen.disable();
await SocialLogin.login({
provider: 'google',
options: {}
});

あなたが使用している iOSのGoogleログイン 認証とアカウントフローの計画に使用している場合、Cloudflare Using @capgo/capacitor-social-login for the native capability in Using @capgo/capacitor-social-login, @capgo/capacitor-social-login for the implementation detail in @capgo/capacitor-social-login, @capgo/capacitor-passkey for the implementation detail in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric for the implementation detail in @capgo/capacitor-native-biometric, and 2要素認証 2要素認証の実装詳細について