private void AuthenticationWithGameCenter()
        {
            if (GameCenterAuthProvider.IsPlayerAuthenticated())
            {
                GameCenterAuthProvider.GetCredentialAsync()
                .ContinueWithOnMainThread(task =>
                {
                    if (task.IsCanceled)
                    {
                        Debug.LogError("GetCredentialAsync was canceled ");
                        loginCallback(EnumLoginState.Error, null);
                        return;
                    }

                    if (task.IsFaulted)
                    {
                        Debug.LogError("GetCredentialAsync was faulted ");
                        loginCallback(EnumLoginState.Error, null);
                    }

                    var credential = task.Result;
                    SignInWithCredentialAsync(credential);
                });
            }
            else
            {
                loginCallback(EnumLoginState.Error, null);
            }
        }
Exemple #2
0
        public async Task <IAuthCredential> GetCredentialAsync()
        {
            try
            {
                var credential = await GameCenterAuthProvider.GetCredentialAsync().ConfigureAwait(false);

                return(new AuthCredentialWrapper(credential));
            }
            catch (NSErrorException e)
            {
                throw ExceptionMapper.Map(e);
            }
        }
 void iOSSignIn()
 {
     HideButtons();
     Social.localUser.Authenticate(success => {
         if (success)
         {
             GameSettings.MyDebug("success");
             GameCenterAuthProvider.GetCredentialAsync().ContinueWith(OnAuthenticationFinishediOS);
         }
         else
         {
             ShowButtons();
             GameSettings.MyDebug("Failed to authenticate");
             PlayerPrefs.SetInt("signedIn", 0);
         }
     });
 }