IEnumerator Tests() { Firebase firebase = Firebase.CreateNew(datebaseUrl, "P860mYzzDiNtxNjlD6O1B5m9vMgaNocYyKUGK4et"); // Init callbacks firebase.OnGetSuccess += GetOKHandler; firebase.OnGetFailed += GetFailHandler; firebase.OnSetSuccess += SetOKHandler; firebase.OnSetFailed += SetFailHandler; firebase.OnUpdateSuccess += UpdateOKHandler; firebase.OnUpdateFailed += UpdateFailHandler; firebase.OnPushSuccess += PushOKHandler; firebase.OnPushFailed += PushFailHandler; firebase.OnDeleteSuccess += DelOKHandler; firebase.OnDeleteFailed += DelFailHandler; // Get child node from firebase, if false then all the callbacks are not inherited. action = firebase.Child("action", true); FirebaseObserver observer = new FirebaseObserver(action, 1f); observer.OnChange += (Firebase sender, DataSnapshot snapshot) => { DoDebug("[OBSERVER] Last updated changed to: " + snapshot.Value <long>()); action.GetValue(); }; observer.Start(); // Unnecessarily skips a frame, really, unnecessary. yield return(null); // action.GetValue(); StateController.Instance.StartController(); }
public void StartListening() { observer = new FirebaseObserver(firebase.Child(gameManager.game.code + "/playerPosition"), 1f); observer.OnChange += (Firebase sender, DataSnapshot snapshot) => { Dictionary <string, object> dict = snapshot.Value <Dictionary <string, object> >(); float x = System.Convert.ToSingle(dict["x"]); float y = System.Convert.ToSingle(dict["y"]); float z = System.Convert.ToSingle(dict["z"]); gameManager.game.playerPosition = new Vector3(x, y, z); gameManager.MovePlayer(); //Debug.Log("playerposx: " + game.playerPosition); /* * // are all the bets in? * if (answerCount == dict.Count) * { * observer.Stop(); * } */ }; observer.Start(); }
public void StartListening() { observer = new FirebaseObserver(firebase.Child(gameManager.game.code), 1f); observer.OnChange += OnChange; //Debug.Log("playerposx: " + game.playerPosition); /* * // are all the bets in? * if (answerCount == dict.Count) * { * observer.Stop(); * } */ observer.Start(); }
IEnumerator getFirebaseBPM() { Firebase firebase = Firebase.CreateNew("https://pulsesensor-a13e2.firebaseio.com/PulseData", "RyvmMbMFgX2vxBhbv2XQDlLZhZ1Y7NOFr9E0EmYG"); // Get child node from firebase, if false then all the callbacks are not inherited. Firebase lastPulseReading = firebase.Child("BPM"); // Make observer on "last update" time stamp FirebaseObserver observer = new FirebaseObserver(lastPulseReading, 1f); observer.OnChange += (Firebase sender, DataSnapshot snapshot) => { // DebugLog("[OBSERVER] Last Pulsereading changed to: " + snapshot.Value<long>()); int newBPM = unchecked ((int)snapshot.Value <long>()); if (lastBPM - newBPM >= 10) { bpmState = "DESCENDING"; } else if (newBPM >= 100) { bpmState = "HIGH"; } else { bpmState = "NEUTRAL"; } lastBPM = unchecked ((int)snapshot.Value <long>()); DebugLog(bpmState); }; observer.Start(); DebugLog("[OBSERVER] FirebaseObserver on " + lastPulseReading.FullKey + " started!"); // Unnecessarily skips a frame, really, unnecessary. yield return(null); // Create a FirebaseQueue FirebaseQueue firebaseQueue = new FirebaseQueue(true, 3, 1f); // if _skipOnRequestError is set to false, queue will stuck on request Get.LimitToLast(-1). }
IEnumerator Tests() { // README DebugLog("This plugin simply wraps Firebase's RealTime Database REST API.\nPlease read here for better understanding of the API: https://firebase.google.com/docs/reference/rest/database/\n"); // Inits Firebase using Firebase Secret Key as Auth // The current provided implementation not yet including Auth Token Generation // If you're using this sample Firebase End, // there's a possibility that your request conflicts with other simple-firebase-c# user's request SimpleFirebaseUnity.Firebase firebase = SimpleFirebaseUnity.Firebase.CreateNew("https://simple-firebase-unity.firebaseio.com", "WQV9t78OywD8Pp7jvGuAi8K6g0MV8p9FAzkJ7rWK"); // Init callbacks firebase.OnGetSuccess += GetOKHandler; firebase.OnGetFailed += GetFailHandler; firebase.OnSetSuccess += SetOKHandler; firebase.OnSetFailed += SetFailHandler; firebase.OnUpdateSuccess += UpdateOKHandler; firebase.OnUpdateFailed += UpdateFailHandler; firebase.OnPushSuccess += PushOKHandler; firebase.OnPushFailed += PushFailHandler; firebase.OnDeleteSuccess += DelOKHandler; firebase.OnDeleteFailed += DelFailHandler; // Get child node from firebase, if false then all the callbacks are not inherited. SimpleFirebaseUnity.Firebase temporary = firebase.Child("temporary", true); SimpleFirebaseUnity.Firebase lastUpdate = firebase.Child("lastUpdate"); lastUpdate.OnGetSuccess += GetTimeStamp; // Make observer on "last update" time stamp FirebaseObserver observer = new FirebaseObserver(lastUpdate, 1f); observer.OnChange += (SimpleFirebaseUnity.Firebase sender, DataSnapshot snapshot) => { DebugLog("[OBSERVER] Last updated changed to: " + snapshot.Value <long>()); }; observer.Start(); DebugLog("[OBSERVER] FirebaseObserver on " + lastUpdate.FullKey + " started!"); // Print details DebugLog("Firebase endpoint: " + firebase.Endpoint); DebugLog("Firebase key: " + firebase.Key); DebugLog("Firebase fullKey: " + firebase.FullKey); DebugLog("Firebase child key: " + temporary.Key); DebugLog("Firebase child fullKey: " + temporary.FullKey); // Unnecessarily skips a frame, really, unnecessary. yield return(null); // Create a FirebaseQueue FirebaseQueue firebaseQueue = new FirebaseQueue(true, 3, 1f); // if _skipOnRequestError is set to false, queue will stuck on request Get.LimitToLast(-1). // Test #1: Test all firebase commands, using FirebaseQueueManager // The requests should be running in order firebaseQueue.AddQueueSet(firebase, GetSampleScoreBoard(), FirebaseParam.Empty.PrintSilent()); firebaseQueue.AddQueuePush(firebase.Child("broadcasts", true), "{ \"name\": \"simple-firebase-csharp\", \"message\": \"awesome!\"}", true); firebaseQueue.AddQueueSetTimeStamp(firebase, "lastUpdate"); firebaseQueue.AddQueueGet(firebase, "print=pretty"); firebaseQueue.AddQueueUpdate(firebase.Child("layout", true), "{\"x\": 5.8, \"y\":-94}"); firebaseQueue.AddQueueGet(firebase.Child("layout", true)); firebaseQueue.AddQueueGet(lastUpdate); //Deliberately make an error for an example DebugWarning("[WARNING] There is one invalid request below (Get with invalid OrderBy) which will gives error, only for the sake of example on error handling."); firebaseQueue.AddQueueGet(firebase, FirebaseParam.Empty.LimitToLast(-1)); // (~~ -.-)~~ DebugLog("==== Wait for seconds 15f ======"); yield return(new WaitForSeconds(15f)); DebugLog("==== Wait over... ===="); // Test #2: Calls without using FirebaseQueueManager // The requests could overtake each other (ran asynchronously) firebase.Child("broadcasts", true).Push("{ \"name\": \"dikra\", \"message\": \"hope it runs well...\"}", false); firebase.GetValue(FirebaseParam.Empty.OrderByKey().LimitToFirst(2)); temporary.GetValue(); firebase.GetValue(FirebaseParam.Empty.OrderByKey().LimitToLast(2)); temporary.GetValue(); // Please note that orderBy "rating" is possible because I already defined the index on the Rule. // If you use your own endpoint, you might get an error if you haven't set it on your Rule. firebase.Child("scores", true).GetValue(FirebaseParam.Empty.OrderByChild("rating").LimitToFirst(2)); firebase.GetRules(GetRulesOKHandler, GetRulesFailHandler); // ~~(-.- ~~) yield return(null); DebugLog("==== Wait for seconds 15f ======"); yield return(new WaitForSeconds(15f)); DebugLog("==== Wait over... ===="); // We need to clear the queue as the queue is left with one error command (the one we deliberately inserted last time). // When the queue stuck with an error command at its head, the next (or the newly added command) will never be processed. firebaseQueue.ForceClearQueue(); yield return(null); // Test #3: Delete the frb_child and broadcasts firebaseQueue.AddQueueGet(firebase); firebaseQueue.AddQueueDelete(temporary); // Please notice that the OnSuccess/OnFailed handler is not inherited since Child second parameter not set to true. DebugLog("'broadcasts' node is deleted silently."); firebaseQueue.AddQueueDelete(firebase.Child("broadcasts")); firebaseQueue.AddQueueGet(firebase); // ~~(-.-)~~ yield return(null); DebugLog("==== Wait for seconds 15f ======"); yield return(new WaitForSeconds(15f)); DebugLog("==== Wait over... ===="); observer.Stop(); DebugLog("[OBSERVER] FirebaseObserver on " + lastUpdate.FullKey + " stopped!"); }
IEnumerator Tests() { // Inits Firebase using Firebase Secret Key as Auth // The current provided implementation not yet including Auth Token Generation // If you're using this sample Firebase End, // there's a possibility that your request conflicts with other simple-firebase-c# user's request Firebase firebase = Firebase.CreateNew(datebaseUrl, "P860mYzzDiNtxNjlD6O1B5m9vMgaNocYyKUGK4et"); // Init callbacks firebase.OnGetSuccess += GetOKHandler; firebase.OnGetFailed += GetFailHandler; firebase.OnSetSuccess += SetOKHandler; firebase.OnSetFailed += SetFailHandler; firebase.OnUpdateSuccess += UpdateOKHandler; firebase.OnUpdateFailed += UpdateFailHandler; firebase.OnPushSuccess += PushOKHandler; firebase.OnPushFailed += PushFailHandler; firebase.OnDeleteSuccess += DelOKHandler; firebase.OnDeleteFailed += DelFailHandler; // Get child node from firebase, if false then all the callbacks are not inherited. // Firebase temporary = firebase.Child (ShowNetworkInterfaces(), true); // Firebase lastUpdate = firebase.Child ("lastUpdate"); // // lastUpdate.OnGetSuccess += GetTimeStamp; // // // Make observer on "last update" time stamp FirebaseObserver observer = new FirebaseObserver(firebase, 1f); observer.OnChange += (Firebase sender, DataSnapshot snapshot) => { DoDebug("[OBSERVER] Last updated changed to: " + snapshot.Value <long>()); firebase.Child("action", true).GetValue(); }; observer.Start(); // DoDebug ("[OBSERVER] FirebaseObserver on " + lastUpdate.FullKey +" started!"); // // // Print details DoDebug("Firebase endpoint: " + firebase.Endpoint); // DoDebug("Firebase key: " + firebase.Key); // DoDebug("Firebase fullKey: " + firebase.FullKey); // DoDebug("Firebase child key: " + temporary.Key); // DoDebug("Firebase child fullKey: " + temporary.FullKey); // Unnecessarily skips a frame, really, unnecessary. yield return(null); //firebase.UpdateValue(firebase.Child("action",true),"{\"sync\":DDD}"); // Create a FirebaseQueue FirebaseQueue firebaseQueue = new FirebaseQueue(); // Test #1: Test all firebase commands, using FirebaseQueueManager // The requests should be running in order //firebaseQueue.AddQueueSet (firebase, GetSampleScoreBoard (), FirebaseParam.Empty.PrintSilent ()); //firebaseQueue.AddQueuePush (firebase.Child ("broadcasts", true), "{ \"name\": \"simple-firebase-csharp\", \"message\": \"awesome!\"}", true); //firebaseQueue.AddQueueSetTimeStamp (firebase, "lastUpdate"); //firebaseQueue.AddQueueGet (firebase, "print=pretty"); firebaseQueue.AddQueueUpdate(firebase.Child("action", true), "{\"sync\": \"DOne\"}", true); // firebaseQueue.AddQueueGet(firebase.Child("action", true)); //firebaseQueue.AddQueueGet (lastUpdate); // ////Deliberately make an error for an example //DoDebug("[WARNING] There is one invalid request below which will gives error, only for example on error handling."); //firebaseQueue.AddQueueGet (firebase, FirebaseParam.Empty.LimitToLast(-1)); // // //// (~~ -.-)~~ DoDebug("==== Wait for seconds 15f ======"); yield return(new WaitForSeconds(15f)); DoDebug("==== Wait over... ===="); // Test #2: Calls without using FirebaseQueueManager // The requests could overtake each other (ran asynchronously) // firebase.Child("broadcasts", true).Push("{ \"name\": \"dikra\", \"message\": \"hope it runs well...\"}", true); // firebase.GetValue(FirebaseParam.Empty.OrderByKey().LimitToFirst(2)); // temporary.GetValue (); // firebase.GetValue (FirebaseParam.Empty.OrderByKey().LimitToLast(2)); // temporary.GetValue (); // firebase.Child ("scores", true).GetValue(FirebaseParam.Empty.OrderByChild ("rating").LimitToFirst(2)); // firebase.GetRules (GetRulesOKHandler, GetRulesFailHandler); // ~~(-.- ~~) yield return(null); DoDebug("==== Wait for seconds 15f ======"); yield return(new WaitForSeconds(15f)); DoDebug("==== Wait over... ===="); // Test #3: Delete the frb_child and broadcasts // firebaseQueue.AddQueueGet (firebase); // firebaseQueue.AddQueueDelete(temporary); // please notice that the OnSuccess/OnFailed handler is not inherited since Child second parameter not set to true. DoDebug("'broadcasts' node is deleted silently."); // firebaseQueue.AddQueueDelete (firebase.Child ("broadcasts")); // firebaseQueue.AddQueueGet (firebase); // ~~(-.-)~~ yield return(null); DoDebug("==== Wait for seconds 15f ======"); yield return(new WaitForSeconds(15f)); DoDebug("==== Wait over... ===="); // observer.Stop (); // DoDebug ("[OBSERVER] FirebaseObserver on " + lastUpdate.FullKey +" stopped!"); }