在開始整合 iOS 或 macOS 應用程式與 Google 登入元件之前,您必須先下載依附元件並設定 Xcode 專案。本頁中的步驟只是其中一例。接下來的後續步驟會說明如何將 Google 登入功能整合至應用程式。
事前準備
安裝最新版本的 Xcode。
在專案中安裝 Google 登入依附元件
CocoaPods
如果您尚未安裝 CocoaPods,請按照 CocoaPods 開始使用指南中的步驟操作。
開啟終端機視窗,然後前往應用程式 Xcode 專案的位置。
如果您尚未為應用程式建立 Podfile,請立即建立一個:
pod init
開啟為應用程式建立的 Podfile,並新增下列指令:
pod 'GoogleSignIn'
如果使用的是 SwiftUI,請一併為「使用 Google 帳戶登入」按鈕新增 pod 擴充功能:
pod 'GoogleSignInSwiftSupport'
儲存檔案並執行:
pod install
在 Xcode 中開啟應用程式產生的
.xcworkspace
工作區檔案。應用程式日後的所有開發作業都將使用這個檔案。(請注意,這與隨附的.xcodeproj
專案檔案不同,後者會在開啟時造成建構錯誤)。如需範例,請參閱 Objective-C 範例應用程式的 Podfile。
Swift 套件管理員
在 Xcode 中開啟專案。
將 Google 登入依附元件新增至應用程式 (Xcode 說明文件):
存放區 https://github.com/google/GoogleSignIn-iOS
版本 6.0.2 套件產品 GoogleSignIn 如果您使用 SwiftUI,請一併為「使用 Google 帳戶登入」按鈕新增下列擴充功能套件產品:
套件產品 GoogleSignInSwift
取得 OAuth 用戶端 ID
您的應用程式需要 OAuth 用戶端 ID,才能向 Google 的驗證後端識別其身分。iOS 和 macOS 應用程式的 OAuth 用戶端 ID 應用程式類型必須設定為 iOS。
如果您尚未建立 OAuth 用戶端 ID,請按一下下方按鈕。
建立 OAuth 用戶端 ID 後,請記下用戶端 ID 字串,您將需要在應用程式中設定 Google 登入。您可以選擇下載含有用戶端 ID 和其他設定資料的設定檔,以供日後參照。
如果您已建立 OAuth 用戶端 ID,可以點選下方按鈕尋找現有的 OAuth 資訊。
取得 OAuth 伺服器用戶端 ID
大多數應用程式都需要將已登入使用者的身分傳遞至某種後端服務。如要安全地將使用 Google 登入的使用者識別資訊傳送至後端,請使用 ID 權杖。詳情請參閱「透過後端伺服器驗證」。擷取使用者的 ID 權杖需要第二個用戶端 ID,也就是您的「伺服器」用戶端 ID,用來代表您的後端。
如何建立伺服器用戶端 ID:
在 Cloud 控制台中開啟專案。
建立新的網頁應用程式類型 OAuth 用戶端 ID。記下用戶端 ID 字串,您將需要在應用程式中設定 Google 登入。
設定應用程式專案
如要使用 Google 登入,您必須為專案設定 OAuth 用戶端 ID 和自訂網址配置。您也可以選擇新增伺服器用戶端 ID 以進行後端驗證,或是針對 Google Workspace 網域最佳化應用程式。
新增 OAuth 用戶端 ID 和自訂網址通訊協定
更新應用程式的 Info.plist
檔案,根據反向用戶端 ID 新增 OAuth 用戶端 ID 和自訂網址通訊協定。
反向用戶端 ID 為您的用戶端 ID,以點分隔欄位的順序反轉。在 Cloud 控制台中選取現有的 iOS OAuth 用戶端時,這項資訊也會顯示在「iOS URL cheme」下方。例如: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>
簽署應用程式
應用程式必須使用 Apple 核發的憑證簽署,才能在 macOS 和 iOS 裝置上原生執行,才能透過金鑰鏈儲存憑證。
後續步驟
您已下載專案依附元件並設定 Xcode 專案,現在可以將 Google 登入新增至 iOS 應用程式。