美文网首页iOS开发
Google+第三方登录(IOS)

Google+第三方登录(IOS)

作者: zaq1125 | 来源:发表于2018-12-06 18:00 被阅读0次

    进入 https://console.developers.google.com/apis 选择google+ api,
    然后选择管理,
    点击红色区域

    image.png
    然后新建一个项目
    image.png

    输入你的项目名,然后创建


    image.png

    接下来配置,参照这个链接
    https://developers.google.com/identity/sign-in/ios/start-integrating
    (还有视频讲解)

    点击创建凭据(CREATE AN OAUTH CLIENT ID),选择你刚才创建的项目,选择平台(IOS),输入BundleID


    image.png

    成功之后会让你下载Json文件,
    其中 CLIENT_ID 是在AppDelegate文件中GIDSignIn.sharedInstance().clientID (swift)的值

    REVERSED_CLIENT_ID在下面这里设置


    image.png

    接下来参照这个
    https://developers.google.com/identity/sign-in/ios/sign-in

    AppDelegate添加GIDSignInDelegate协议
    然后

    //设置好代理和clientID
    - (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
      [GIDSignIn sharedInstance].clientID = @"YOUR_CLIENT_ID";
      [GIDSignIn sharedInstance].delegate = self;
    
      return YES;
    }
    
    //第三方登陆后回调 这边稍微注意一下自己要适配的IOS系统版本
    - (BOOL)application:(UIApplication *)app
                openURL:(NSURL *)url
                options:(NSDictionary<NSString *, id> *)options {
      return [[GIDSignIn sharedInstance] handleURL:url
                                 sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
                                        annotation:options[UIApplicationOpenURLOptionsAnnotationKey]];
    }
    

    关于didSignInForUser这个方法,我OC没有在appDelegate写这个函数,并没有什么影响,不过swift里没写报错了(不过我swift写得比较晚,也许sdk更新了吧)

    Google+有一个专门的GIDSignInButton,不过我是自己写的Button,在button的点击事件里调用
    [[GIDSignIn sharedInstance] signIn];就行,
    当然在你的这个button所在的控制器里,要添加代理

    GIDSignIn*signIn = [GIDSignIn sharedInstance];
    signIn.shouldFetchBasicProfile=YES;
    signIn.delegate=self;
    signIn.uiDelegate=self;
    

    登录成功后的回调

    - (void)signIn:(GIDSignIn*)signIn didSignInForUser:(GIDGoogleUser*)user withError:(NSError*)error
    {
        NSLog(@"user %@",user);
        NSLog(@"error %@",error);
    }
    

    之前用OC写了一版,今年又被要求用Swift写一版,基本大同小异。凭借着一些印象,记录一下这个配置。如果有不对的地方,麻烦帮忙指出。

    相关文章

      网友评论

        本文标题:Google+第三方登录(IOS)

        本文链接:https://www.haomeiwen.com/subject/rkoocqtx.html