检测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 } }