检测iOS Google+login不完整。

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

  • 用户打开iOS应用程序,并selectGoogle+login。
  • Google SDK将用户导航到G +应用程序进行login(如果未安装G +,则为webview)。
  • 用户从Google+导航(例如点击主页button), 而不接受或拒绝所请求的权限。
  • 用户导航回iOS应用程序。

使用Facebook SDK,当应用程序变为活动状态时,如果用户通过调用[FBAppCall handleDidBecomeActive];类似的行程,login会话将被closures[FBAppCall handleDidBecomeActive];

看起来,Google+ SDK没有什么先进的function。

如何检测到用户从未完成Google+login旅程?

使用iOS7,Google+ SDK pod'google pod 'google-plus-ios-sdk', '~> 1.5'

根据描述的情况,用户跳过了Googlelogin的身份validation过程,或者通过点击主页button导航到主屏幕。

第一路: –

在此基础上,GPPSignInDelegate永远不会被调用

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

现在,如果开发人员在NSUserDefault或plist或本地数据库中保存Google Plus授权密钥,则直接在AppDelegate的didBecomeActive方法中进行检查。

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

第二种方式: –

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

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