10
Kevin Donnelly @donnellyk

G plus pres

Embed Size (px)

Citation preview

Page 1: G plus pres

Kevin Donnelly@donnellyk

Page 2: G plus pres

GOOGLE+, APP REVIEW, AND YOU

A CAUTIONARY TALE

Page 3: G plus pres

Google+ log-in opens a web page in mobile Safari for logging in, then returns the user to the app. The user should be able log in without

opening Safari first.

10.6: Apple and our customers place a high value on simple, refined, creative, well thought through interfaces. They take more work but are

worth it.

Page 4: G plus pres

APPLE'S RESPONSE

Hello, Jumping to Safari and to an app is only approved for Facebook, among social networks. If the removal of the Google+ login is the

solution, please update the screenshots to match the interface. If you choose to keep it in, please implement web-view for login.

Page 5: G plus pres

Issue 900 on google-plus-platform

First reported back on July 4th, 2014

Page 6: G plus pres

GOOGLE'S RESPONSE

The Google Sign-In button does a fast app-switch on iOS because it is the best way to achieve single sign-on, where the user only needs to enter their password once per device. Google believes any usability

issue of the app-switch is greatly outweighed by the usability benefit of only needing to enter your Google password once per device.

Page 7: G plus pres

A (HORRIBLE) FIX- (BOOL)openURL:(NSURL*)url {

if ([[url absoluteString] hasPrefix: @"https://accounts.google.com/o/oauth2/auth"]) { [[NSNotificationCenter defaultCenter] postNotificationName:ApplicationOpenGoogleAuthNotification object:url]; return NO; }

return [super openURL:url];}

Page 8: G plus pres

SIDEBAR

Change return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

To return UIApplicationMain(argc, argv, NSStringFromClass([UIApplicationSubclass class]), NSStringFromClass([AppDelegate class]));

Page 9: G plus pres

MORE (HORRIBLE) FIXES- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

if ([[[request URL] absoluteString] hasPrefix: @"com.bundle.id:/oauth2callback"]) { [GPPURLHandler handleURL:url sourceApplication:@"com.google.chrome.ios" annotation:nil];

[self.navigationController popViewControllerAnimated:YES]; return NO; } return YES;}

More detailed Stackoverflow answer

Page 10: G plus pres

"We do not support hand-rolled/embedded UIWebView for reasons of security, though are well aware of the unsavory tradeoff currently in

place."