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 を使用している場合は、[Google でログイン] ボタンの Pod 拡張機能も追加します。

    pod 'GoogleSignInSwiftSupport'

  6. ファイルを保存し、次のコマンドを実行します。

    pod install

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

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

Swift Package Manager

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

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

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

    パッケージ商品 GoogleSignInSwift

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

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

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

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

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

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

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

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

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

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

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

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

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

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 プロジェクトを構成したので、iOS アプリに Google ログインを追加できます。