public LoginPageRenderer() { dialog = new DialogViewController(new RootElement("Login")); window = new UIWindow(UIScreen.MainScreen.Bounds); window.RootViewController = new UINavigationController(dialog); window.MakeKeyAndVisible(); if (App.IsGoogleLogin && !App.IsLoggedIn) { var myAuth = new GoogleAuthenticator("730990345527-h7r23gcdmdllgke4iud4di76b0bmpnbb.apps.googleusercontent.com", "https://www.googleapis.com/auth/userinfo.email", "https://accounts.google.com/o/oauth2/auth", "https://www.googleapis.com/plus/v1/people/me"); UIViewController vc = myAuth.authenticator.GetUI(); myAuth.authenticator.Completed += async (object sender, AuthenticatorCompletedEventArgs eve) => { //dialog.DismissViewController(true, null); window.Hidden = true; dialog.Dispose(); window.Dispose(); if (eve.IsAuthenticated) { var user = await myAuth.GetProfileInfoFromGoogle(eve.Account.Properties["access_token"].ToString()); await App.SaveUserData(user,true); //dialog.DismissViewController(true, null); App.IsLoggedIn = true; App.SuccessfulLoginAction.Invoke(); } }; dialog.PresentViewController(vc, true, null); } }