Ejemplo n.º 1
0
        private IEnumerator VerifyCodeAsync(string code, Action <bool, string> cb)
        {
            LoadingPanel.Instance.LoadingStart(ELoading.Load);

            _elapsedTime = 0;

            var credential = _provider.GetCredential(_verificationId, code);

            var task = Auth.SignInWithCredentialAsync(credential);

            yield return(new WaitWhile(() => IsTask(task.IsCompleted)));

            if (task.IsFaulted || task.IsCanceled)
            {
                cb(true, "The phone auth credential was created\nwith an empty SMS verification Code.");
                LoadingPanel.Instance.LoadingStop();
                yield return(null);
            }
            else
            {
                yield return(StartCoroutine(FirebaseCore.GetPlayer((error, model) =>
                {
                    if (error)
                    {
                        var newUser = task.Result;
                        var userName = "******";
                        var phoneNumber = newUser.PhoneNumber;
                        var photoUrl = "  ";

                        PlayerPrefs.SetString(PrefsKeys.Name, "  ");
                        PlayerPrefs.SetString(PrefsKeys.Phone, "  ");
                        PlayerPrefs.SetString(PrefsKeys.PhotoUrl, "  ");
                        PlayerPrefs.Save();

                        var user = new UserModel(userName, phoneNumber, photoUrl);
                        FirebaseCore.CreateNewUser(user, newUser.UserId);

                        cb(false, phoneNumber);
                        LoadingPanel.Instance.LoadingStop();
                    }
                    else
                    {
                        PlayerPrefs.SetString(PrefsKeys.Name, model.UserName);
                        PlayerPrefs.SetString(PrefsKeys.Phone, model.PhoneNumber);
                        PlayerPrefs.SetString(PrefsKeys.PhotoUrl, model.PhotoUrl);
                        PlayerPrefs.Save();

                        OnUserNode?.Invoke(model);

                        LoadingPanel.Instance.LoadingStop();
                    }
                })));
            }
        }
Ejemplo n.º 2
0
        private void Init()
        {
            FirebaseCore.Init();

//            if (PhoneManager.Instance.User != null)
//            {
//                _chatController.EnableModule(true);
//            }
//            else
//            {
//                _introController.EnableModule(true);
//            }

            _chatController.EnableModule(true);
        }
Ejemplo n.º 3
0
        private IEnumerator UpdateProfileAsync()
        {
            yield return(StartCoroutine(FirebaseCore.UpdateUserNameAsync(_inputFieldName.text)));

            OnClickDone?.Invoke();
        }