如何在通過firebaseAuth進行身份驗證時將Gmail帳戶的名字和姓氏發佈到firebase。如何獲取用戶配置文件?從Gmail帳戶向Firebase發佈名字和姓氏
我創建用戶在火力上GIDGoogleUser ..和使用:
let authentication = user.authentication
我上同一類東西,我大概可以使用發現,但我需要的建議是它做的正確方法,以及如何從中獲取名字和姓氏..?
let profile = user.profile
我AppDelegate.swift
import UIKit
import Firebase
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, GIDSignInDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
GIDSignIn.sharedInstance().clientID = FirebaseApp.app()?.options.clientID
GIDSignIn.sharedInstance().delegate = self
UIApplication.shared.statusBarStyle = .lightContent
}
func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) {
if let error = error {
print(error.localizedDescription)
return
}
let authentication = user.authentication
let credential = GoogleAuthProvider.credential(withIDToken (authentication?.idToken)!,accessToken: (authentication?.accessToken)!)
Auth.auth().signIn(with: credential) { (user, error) in
if error != nil {
return
} else {
let registrationReq = FirebaseRegistrationLoginRequests()
registrationReq.checkIfCreateOrGetUser(user: user!)
}
}
}
func sign(_ signIn: GIDSignIn!, didDisconnectWith user:GIDGoogleUser!, withError error: Error!) {
// Perform any operations when the user disconnects from app here.
// ...
}
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
debugPrint(userInfo)
completionHandler(UIBackgroundFetchResult.newData)
}
}