iOS 版と macOS 版 Google ログインのスタートガイド

iOS または macOS アプリと Google ログイン コンポーネントの統合を開始する前に、依存関係をダウンロードして Xcode プロジェクトを構成する必要があります。このページで説明する手順は、そのためです。Google ログイン機能をアプリに統合する方法については、次のステップをご覧ください。

始める前に

最新バージョンの Xcode をインストールします。

プロジェクトに Google ログインの依存関係をインストールする

CocoaPods

  1. CocoaPods をまだインストールしていない場合は、CocoaPods のスタートガイドの手順に沿ってインストールします。

  2. ターミナル ウィンドウを開き、アプリの Xcode プロジェクトの場所に移動します。

  3. アプリケーションの Podfile をまだ作成していない場合は、ここで作成します。

    pod init

  4. アプリケーション用に作成された Podfile を開き、次のコードを追加します。

    pod 'GoogleSignIn'

  5. SwiftUI を使用している場合は、[Sign in with Google] ボタンの Pod 拡張機能も追加します。

    pod 'GoogleSignInSwiftSupport'

  6. ファイルを保存して実行します。

    pod install

  7. アプリケーション用に生成された .xcworkspace ワークスペース ファイルを Xcode で開きます。このファイルは、アプリケーションで今後行うあらゆる開発に使用します。(このファイルは、付属の .xcodeproj プロジェクト ファイルとは異なるので注意してください。開いているとビルドエラーが発生します)。

    例については、Objective-C サンプルアプリの Podfile をご覧ください。

Swift Package Manager

  1. Xcode でプロジェクトを開きます。

  2. アプリに Google ログインの依存関係を追加します(Xcode のドキュメント)。

    リポジトリ https://github.com/google/GoogleSignIn-iOS
    バージョン 7.0.0
    パッケージ商品 GoogleSignIn
  3. SwiftUI を使用している場合は、[Sign in with Google] ボタンに次の拡張機能パッケージ プロダクトも追加します。

    パッケージ商品 GoogleSignInSwift

OAuth クライアント ID を取得する

アプリには、Google の認証バックエンドでアプリ自体を識別するための OAuth クライアント ID が必要です。iOS アプリと macOS アプリの場合、OAuth クライアント ID アプリケーション タイプを iOS として構成する必要があります。

OAuth クライアント ID をまだ作成していない場合は、下のボタンをクリックして作成してください。

OAuth クライアント ID を作成する

OAuth クライアント ID を作成したら、アプリで Google ログインを構成するために必要なクライアント ID の文字列をメモしておきます。後で参照できるように、クライアント ID とその他の構成データを含む構成ファイルをダウンロードすることもできます。

OAuth クライアント ID を作成済みの場合は、下のボタンをクリックすると既存の OAuth 情報を確認できます。

既存の OAuth クライアント ID を取得する

OAuth サーバーのクライアント ID を取得する

ほとんどのアプリでは、ログイン済みユーザーの ID をなんらかのバックエンド サービスに渡す必要があります。Google でログインしたユーザーの ID をバックエンドに安全に渡すには、バックエンド サーバーで認証するで説明されているように ID トークンを使用します。ユーザーの ID トークンを取得するには、バックエンドを表す 2 つ目のクライアント ID(サーバー クライアント ID)が必要です。

サーバーのクライアント ID を作成するには:

  1. Cloud コンソールでプロジェクトを開きます。

  2. 新しいウェブ アプリケーション タイプの OAuth クライアント ID を作成します。アプリで Google ログインを構成するために必要なクライアント ID 文字列をメモしておきます。

アプリケーション プロジェクトを構成する

Google ログインを使用するには、プロジェクトに OAuth クライアント ID とカスタム URL スキームを構成する必要があります。必要に応じて、バックエンド認証用にサーバー クライアント ID を追加したり、Google Workspace ドメイン用にアプリを最適化したりすることもできます。

OAuth クライアント ID とカスタム URL スキームを追加する

アプリの Info.plist ファイルを更新して、OAuth クライアント ID と、リバース クライアント ID に基づくカスタム URL スキームを追加します。

反転クライアント ID は、ドット区切りフィールドの順序が逆のクライアント ID です。これは、Cloud コンソールで既存の iOS OAuth クライアントを選択するときに、[iOS URL スキーム] にも表示されます。次に例を示します。 com.googleusercontent.apps.1234567890-abcdefg

<key>GIDClientID</key>
<string>YOUR_IOS_CLIENT_ID</string>
<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
    </array>
  </dict>
</array>

省略可: バックエンド認証を構成する

バックエンド認証用にユーザーの ID トークンを取得する必要がある場合は、アプリの Info.plist ファイルで GIDServerClientID キーも設定します。

<key>GIDServerClientID</key>
<string>YOUR_SERVER_CLIENT_ID</string>

省略可: Google Workspace のドメインまたは OpenID レルム向けに最適化する

Google Workspace ドメインのログインフローを最適化する場合は、GIDHostedDomain パラメータを使用します。

<key>GIDHostedDomain</key>
<string>YOUR_HOSTED_DOMAIN</string>

OpenID レルムを指定する場合は、GIDOpenIDRealm パラメータを使用します。

<key>GIDOpenIDRealm</key>
<string>YOUR_OPENID_REALM</string>

アプリに署名する

キーチェーンを使用して認証情報を保存するには、アプリケーションを macOS デバイスと iOS デバイスでネイティブに実行するために、Apple が発行した証明書で署名する必要があります。

次のステップ

プロジェクトの依存関係をダウンロードして Xcode プロジェクトを構成したので、Google ログインを iOS アプリに追加できます。