private void UpdateProfileUIWith(GoogleUserModel user)
 {
     xProfilePicure.Source  = user.Picture;
     xProfileName.Text      = user.GivenName + " " + user.FamilyName;
     xProfileEmail.Text     = user.Email;
     xProfileOtherData.Text = "Gender: " + user.Gender + " FamilyName: " + user.FamilyName + " Verified: " + user.VerifiedEmail;
 }
        private async void OnAuthenticationCompletedAsync(object sender, AuthenticatorCompletedEventArgs e)
        {
            var authenticator = sender as OAuth2Authenticator;

            if (authenticator != null)
            {
                authenticator.Completed -= OnAuthenticationCompletedAsync;
                authenticator.Error     -= OnAuthenticationFailed;
            }

            if (e.IsAuthenticated)
            {//now user is authenticated,so lets go and save important keys
                AccountStore.Create().Save(e.Account, Constants.AppName);

                var request  = new OAuth2Request("GET", new Uri(Constants.UserInfoUrl), null, e.Account);
                var response = await request.GetResponseAsync();

                if (response != null)
                {
                    string userJson = response.GetResponseText();
                    user = JsonConvert.DeserializeObject <GoogleUserModel>(userJson);

                    //lets update ui with data received from provider
                    UpdateProfileUIWith(user);
                }
            }
        }