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

iOSのGoogleログイン

GitHub

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

このセクションでは、iOSでGoogleログインを設定する方法を学びます。

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

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

      Googleコンソールの検索バー
    2. で検索する credentials のボタンをクリックする APIs and Services のボタンをクリックする

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

      Create credentials ボタンをクリック
    4. 選択 OAuth client ID

      API キーを作成するメニューの OAuth client ID オプションを選択
    5. を選択 Application type context: Live updates product page. Role: Short UI label or navigation item. Message key `live_update_dynamic_label_to` (Live Update Dynamic Label To). iOS

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

      1. Xcode を開く

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

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

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

        Xcodeプロジェクト設定のBundle Identifierフィールドを確認してください
      5. Googleコンソールに戻り、Capgoで使用する Bundle Identifier Bundle IDフィールドに貼り付けます Bundle ID

        オプションで、Capgoで使用する
    7. または App Store ID GoogleコンソールのiOSクライアント作成フォームのClient IDフィールドに貼り付けます Team ID App Storeにアプリを公開した場合はClient IDに貼り付けます

    8. すべての詳細を入力したら、iOSクライアント作成フォームの下部にあるCreateボタンをクリックしてください create

      Capgoの代替機能を追加する場合は
    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タグ

      __CAPGO_KEEP_0__
    4. URLスキームを追加するための次のフラグメントを閉じるタグの直前に挿入してください </dict> タグ

      Info.plistにURLスキームcodeを閉じる辞書タグの前に挿入した値
      <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 Info.plistに実際のクライアントIDを逆順にした値をURLスキームに挿入

      注意
    6. ファイルを保存してください Command + S

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

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

      AppDelegate.swiftファイルをXcodeプロジェクトナビゲータで開いてください
    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 ログイン プラグインは、@__CAPGO_KEEP_0__/privacy-screenと不相容です。 @capacitor/privacy-screen対策:

呼び出し コピー await PrivacyScreen.disable(); 続けてiOSのGoogleログイン

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要素認証の実装詳細について