private void Awake()
 {
     manager = GetComponent <UIManager>();
     FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread <DependencyStatus>((task) =>
     {
         DependencyStatus status = task.Result;
         if (status == DependencyStatus.Available)
         {
             App               = FirebaseApp.DefaultInstance;
             Auth              = FirebaseAuth.DefaultInstance;
             functions         = FirebaseFunctions.DefaultInstance;
             functionReference = functions.GetHttpsCallable("RequestMessage");
             manager.TurnOff(manager.AuthBlocker);
             manager.TurnOff(manager.AnalyticsBlocker);
             App.SetEditorDatabaseUrl("https://fir-n-ix.firebaseio.com/");
             dbReference = FirebaseDatabase.DefaultInstance.RootReference;
             FirebaseMessaging.TokenReceived   += OnTokenReceived;
             FirebaseMessaging.MessageReceived += OnMessageReceived;
             FirebaseMessaging.TokenRegistrationOnInitEnabled = true;
             defaults.Add("RemoteTest", 25);
             FirebaseRemoteConfig.SetDefaults(defaults);
             FirebaseRemoteConfig.FetchAsync(TimeSpan.Zero).ContinueWithOnMainThread((remoteConfigTask) =>
             {
                 FirebaseRemoteConfig.ActivateFetched();
                 RemoteConfigResult = FirebaseRemoteConfig.GetValue("RemoteTest").StringValue;
                 manager.TurnOff(manager.RemoteConfigBlocker);
             });
             storage = FirebaseStorage.DefaultInstance;
         }
         else
         {
             Debug.Log(string.Format("Can't resolve all Firebase dependencies: {0}", status));
         }
     });
 }
예제 #2
0
        private void OnEnable()
        {
            bool isEditor = false;

#if UNITY_EDITOR
            isEditor = true;
#endif

            if (isEditor)
            {
                FirebaseApp firebaseApp = FirebaseApp.Create(
                    FirebaseApp.DefaultInstance.Options,
                    "FIREBASE_EDITOR");

                firebaseApp.SetEditorDatabaseUrl("https://artie-data.firebaseio.com/");

                FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task =>
                {
                    if (task.Result == DependencyStatus.Available)
                    {
                        _dbReference   = FirebaseDatabase.GetInstance(firebaseApp).RootReference;
                        _storage       = FirebaseStorage.GetInstance(firebaseApp);
                        _auth          = FirebaseAuth.GetAuth(firebaseApp);
                        _phoneProvider = PhoneAuthProvider.GetInstance(_auth);
                        _functions     = FirebaseFunctions.DefaultInstance;
                        if (localServices.Value)
                        {
                            _functions.UseFunctionsEmulator("http://localhost:5001");
                        }

                        // Listener for authentications changes
                        _auth.StateChanged += this.AuthStateChanged;
                        AuthStateChanged(this, null);
                    }
                    else
                    {
                        Debug.LogError("Could not resolve all Firebase dependencies: " + task.Result);
                        Console.WriteLine("Could not resolve all Firebase dependencies: " + task.Result);

                        // Listener for authentications changes
                        _auth.StateChanged += this.AuthStateChanged;
                        AuthStateChanged(this, null);
                    }
                });
            }
            else
            {
                FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://artie-data.firebaseio.com/");
                _dbReference   = FirebaseDatabase.DefaultInstance.RootReference;
                _storage       = FirebaseStorage.DefaultInstance;
                _functions     = Firebase.Functions.FirebaseFunctions.DefaultInstance;
                _auth          = FirebaseAuth.DefaultInstance;
                _phoneProvider = PhoneAuthProvider.GetInstance(_auth);

                // Listener for authentications changes
                _auth.StateChanged += this.AuthStateChanged;
                AuthStateChanged(this, null);
            }
        }
예제 #3
0
 public CallFunction(FirebaseFunctions functions, string functionName)
 {
     functions.GetHttpsCallable(functionName).CallAsync().ContinueWith(task =>
     {
         Result    = task.Result;
         _finished = true;
     });
 }
 // Use this for initialization
 public void CallCloudFunction(string notificationText)
 {
     if (functions == null)
     {
         functions = FirebaseFunctions.DefaultInstance;
     }
     NoficiataionPushing(notificationText);
     textBoxControlScript.BtnBackFormNotificationMenu();
 }
예제 #5
0
        protected virtual void InitializeFirebase()
        {
            functions = FirebaseFunctions.DefaultInstance;
            UIEnabled = true;

            // To use a local emulator, uncomment this line:
            //   functions.UseFunctionsEmulator("http://localhost:5005");
            // Or from an Android emulator:
            //   functions.UseFunctionsEmulator("http://10.0.2.2:5005");
        }
예제 #6
0
 /// <summary>
 /// Clean up using cloud function. Also delete and create the super user.
 /// </summary>
 private async Task SetUpFirestoreForTest(bool recreateUser)
 {
     var ff          = FirebaseFunctions.GetInstance(Firestorm.AuthInstance.App);
     var testCleanUp = ff.GetHttpsCallable("firestormTestCleanUp");
     var callResult  = await testCleanUp.CallAsync(new Dictionary <string, object>
     {
         ["recreateUser"]      = recreateUser,
         ["testSecret"]        = FirestormConfig.Instance.testSecret,
         ["superUserId"]       = FirestormConfig.Instance.superUserEmail,
         ["superUserPassword"] = FirestormConfig.Instance.superUserPassword,
     });
 }
예제 #7
0
        public async Task AddNotification(Models.Notification newNotif, string functionCall)
        {
            TaskCompletionListener taskCompletionListener = new TaskCompletionListener();
            var app = FirebaseApp.InitializeApp(_context);

            firebaseFunc = FirebaseFunctions.GetInstance(app);

            var func = firebaseFunc.GetHttpsCallable(functionCall)
                       .Call(JsonConvert.SerializeObject(newNotif))
                       .AddOnSuccessListener(_activity, taskCompletionListener);

            taskCompletionListener.Succes  += TaskCompletionListener_Succes;
            taskCompletionListener.Failure += TaskCompletionListener_Failure;
        }
예제 #8
0
        // Runs the given test and returns whether it passed.
        public Task RunAsync(FirebaseFunctions functions,
                             Utils.Reporter reporter)
        {
            var func = functions.GetHttpsCallable(Name);

            return(func.CallAsync(Input).ContinueWith((task) => {
                if (ExpectedError == FunctionsErrorCode.None)
                {
                    // We expected no error.
                    if (task.IsFaulted)
                    {
                        // The function unexpectedly failed.
                        throw task.Exception;
                    }
                    // The function succeeded.
                    if (!Utils.DeepEquals(ExpectedData, task.Result.Data, reporter))
                    {
                        throw new Exception(String.Format("Incorrect result. Got {0}. Want {1}.",
                                                          Utils.DebugString(task.Result.Data),
                                                          Utils.DebugString(ExpectedData)));
                    }
                    return;
                }

                // The function was expected to fail.
                FunctionsException e = null;
                foreach (var inner in task.Exception.InnerExceptions)
                {
                    if (inner is FunctionsException)
                    {
                        e = (FunctionsException)inner;
                        break;
                    }
                }
                if (e == null)
                {
                    // We didn't get a proper Functions Exception.
                    throw task.Exception;
                }

                if (e.ErrorCode != ExpectedError)
                {
                    // The code wasn't right.
                    throw new Exception(String.Format("Error {0}: {1}", e.ErrorCode, e.Message));
                }
                reporter(String.Format("  Got expected error {0}: {1}", e.ErrorCode,
                                       e.Message));
            }));
        }
예제 #9
0
 public void CallCloudFunction()
 {
     FirebaseFunctions.CallCloudFunction(functionNameInputField.text,
                                         parameters,
                                         DisplayData, DisplayErrorObject);
 }
예제 #10
0
 protected virtual void InitializeFirebase()
 {
     functions = FirebaseFunctions.DefaultInstance;
     UIEnabled = true;
 }
예제 #11
0
 private void Start()
 {
     db   = FirebaseFirestore.DefaultInstance;
     func = FirebaseFunctions.DefaultInstance;
 }
 public FirebaseService()
 {
     auth      = FirebaseAuth.DefaultInstance;
     functions = FirebaseFunctions.GetInstance("asia-northeast1");
 }
 public FirebaseFunctionsImplementation()
 {
     _functions = FirebaseFunctions.Instance;
 }