检测iOS Google登录是不完整的.

“不完整”我指的是一个特定的用户之旅

>用户打开iOS应用程序,并选择Google登录.
> Google SDK会将用户导航到G应用程序进行登录(如果G未安装,则为Webview).
>用户远离Google导航(例如轻触主屏幕按钮),而不接受或拒绝所请求的权限.
>用户导航回iOS应用程序.

使用Facebook SDK,当应用程序激活时,如果用户通过呼叫跟随类似的旅程,则登录会话将关闭

[FBAppCall handleDidBecomeActive];

Google SDK似乎没有任何优先级.

如何检测到用户从未完成Google登录旅程?

使用iOS7,Google SDK

pod’google-plus-ios-sdk’,’〜> 1.5′

解决方法

根据所描述的情况,用户已经跳过Google登录的身份验证过程,或者通过点击主屏幕导航到主屏幕.

第一路:

在此基础上,GPPSignInDelegate从未被调用

- (void)finishedWithAuth: (GTMOAuth2Authentication *)auth
                   error: (NSError *) error {
    NSLog(@"Received error %@ and auth object %@",error,auth);
}

现在,如果开发人员在NSUserDefault或plist或本地数据库中保存Google Plus auth密钥,那么他直接在AppDelegate的didBecomeActive方法中检查它.

-(void)applicationDidBecomeActive:(UIApplication *)application
{
  //Check whether Google Plus auth key is present from the stored location or variable    
}

第二路:

在applicationDidBecomeActive方法中,可以直接检查验证是否完成

-(void)applicationDidBecomeActive:(UIApplication *)application
    {
       if ([[GPPSignIn sharedInstance] authentication]) {
             // The user has  signed in properly
           }
        else
         {
               // The user has  not  signed in properly
         }
    }

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...