Google+第三方登錄(IOS)

進入 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寫一版,基本大同小異。憑借著一些印象,記錄一下這個配置。如果有不對的地方,麻煩幫忙指出。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網絡請求組件 FMDB本地數據庫組件 SD...
    陽明AGI閱讀 16,003評論 3 119
  • 在前些時間,經常出現有關抑郁癥致死的消息。我想這就是我們重視身體健康而輕視對心理健康的一種表現吧。就像是自己一心想...
    leannlyq閱讀 475評論 0 0
  • 不過是一張電影票。 國慶的前幾天,朋友圈里內容很豐富得很,其中一條引起了我的關注,那就是電影《影》...
    劉金_閱讀 278評論 0 1