como buscar google mais informações do usuário usando rápida 4, ao usar integratioin social no meu aplicativo

votos
-2

Como buscar google mais informações do usuário usando rápida 4? A integração social é usado para o login com o Google Plus, mas eu preciso a maioria das informações de perfil de usuário para buscar.

eu quero pegar informações do perfil do usuário, como nome de usuário e-mail dob etc do Google Plus login.

Publicado 20/09/2018 em 04:22
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

AppDelegate.swift:

Iniciado google-quadro em AppDelegate.swift:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Initiate gogle sign-in
    GIDSignIn.sharedInstance().clientID = SocialLogin.Google().clientId
    return true
}

lidar com callback como:

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey: Any] = [:]) -> Bool {
    print("openUrl scheme: \(url)")
    if let scheme = url.scheme {
        if scheme.hasPrefix("google".lowercased()) {
            return GIDSignIn.sharedInstance().handle(url, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplicationOpenURLOptionsKey.annotation])
        }
    }
    return false
}

GoogleLogin.swift:

Adicionar abaixo arquivo GoogleLogin.swiftem seu projeto:

import GoogleSignIn

class GoogleLogin: UIViewController {

    static let shared = GoogleLogin()

    var completionBlock: ((GIDGoogleUser?) -> Void)?

    func login(onCompletion: @escaping ((_ dictionary: [String: String]?) -> Void)) {
        completionBlock = onCompletion

        GIDSignIn.sharedInstance().delegate = self
        GIDSignIn.sharedInstance().uiDelegate = self

        GIDSignIn.sharedInstance().signOut()
        GIDSignIn.sharedInstance().signIn()
    }

}

extension GoogleLogin: GIDSignInDelegate {

    func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) {
        if error == nil {
            self.completionBlock?(user)
        } else {
            print("Error in didSignInFor: \(error.localizedDescription)")
            self.completionBlock?(nil)
        }
    }

    func sign(_ signIn: GIDSignIn!, didDisconnectWith user: GIDGoogleUser!, withError error: Error!) {
        print("In didDisconnectWith: \(error.localizedDescription)")
        self.completionBlock?(nil)
    }

}

extension GoogleLogin: GIDSignInUIDelegate {

    func sign(inWillDispatch signIn: GIDSignIn!, error: Error!) {
        //stop your loader here
        //myActivityIndicator.stopAnimating()
    }

    // Present a view that prompts the user to sign in with Google
    func sign(_ signIn: GIDSignIn!, present viewController: UIViewController!) {
        self.present(viewController, animated: true, completion: nil)
    }

    // Dismiss the "Sign in with Google" view
    func sign(_ signIn: GIDSignIn!, dismiss viewController: UIViewController!) {
        self.dismiss(animated: true, completion: nil)
    }

}
Respondeu 20/09/2018 em 10:16
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more