Exemple #1
0
        private void Set(FirebasePath path, string data, FirebasePriority priority, FirebaseStatusCallback callback,
                         MessageSouce source)
        {
            var message = new FirebaseMessage(WriteBehavior.Replace, path, data, priority, callback, source);

            UpdateLocal(message);
        }
Exemple #2
0
 void OnMessageReceivedHandler(FirebaseMessage message)
 {
     if (message.Data.TryGetValue(MessagingConsts.CONFIG_STATE, out var state) &&
         state.Equals(MessagingConsts.ConfigState.STALE))
     {
         StartFetchData();
     }
 }
Exemple #3
0
        private void OnChanged(FirebaseMessage message)
        {
            var callback = Changed;

            if (callback != null)
            {
                callback(this, new JsonCacheUpdateEventArgs(message.Path));
            }
        }
    /// <summary>
    ///
    /// </summary>
    /// <param name="result"></param>
    public void SetGameInvitationInfo(FirebaseMessage result /*GetUserDataResult result*/)
    {
        if (result == null)
        {
            return;
        }

        if (result.Data.ContainsKey("FourDigitRandomNumber"))
        {
            if (!string.IsNullOrEmpty(result.Data["FourDigitRandomNumber"]))
            {
                fourDigitRandomNumberFromServer = result.Data["FourDigitRandomNumber"];
                Debug.Log("4444 Four Digit Random No : " + result.Data["FourDigitRandomNumber"]);
            }
        }

        if (result.Data.ContainsKey("GROUP_ID"))
        {
            if (!string.IsNullOrWhiteSpace(result.Data["GROUP_ID"]))
            {
                GrpID = result.Data["GROUP_ID"];
            }
        }


        if (result.Data.ContainsKey("GAME REQUEST"))
        {
            if (!string.IsNullOrWhiteSpace(result.Data["GAME REQUEST"]))
            {
                PlayfabPlayerProfile.GetPlayerProfile(SetSenderInfo, null, result.Data["GAME REQUEST"]);
            }
        }

        if (result.Data.ContainsKey("CoinAmount"))
        {
            Debug.Log("789 COIN AMOUNT :" + result.Data["CoinAmount"]);

            if (!string.IsNullOrEmpty(result.Data["CoinAmount"]))
            {
                Debug.Log("789 COIN AMOUNT :" + result.Data["CoinAmount"]);

                TableAmount.text = result.Data["CoinAmount"] + " TABLE";
                tableAmountCoin  = Int32.Parse(result.Data["CoinAmount"]);
            }
        }

        if (result.Data.ContainsKey("GameType"))
        {
            if (!string.IsNullOrEmpty(result.Data["GameType"]))
            {
                GameType.text = result.Data["GameType"] == "0" ? "Hazari Multiplayer On" : "Nine Card Multiplayer On";
                gameType      = Int32.Parse(result.Data["GameType"]);
            }
        }
    }
 public static void TryDeserializeIntValue(FirebaseMessage msg, string valueName, Action <int> successHandler)
 {
     if (msg.Data.TryGetValue(valueName, out var state))
     {
         Debug.Log("[FCM] received message: " + state);
         if (msg.Data.TryGetValue(valueName, out string amount))
         {
             successHandler.Invoke(Int32.Parse(amount));
         }
     }
 }
        public virtual void FillNoteData(FirebaseMessage mess, string messageId, NotificationParameters pars, string lang = null)
        {
            if (lang == null)
            {
                mess.body  = Translator.Message(messageId, pars.BodyParams.ToArray());
                mess.title = Translator.Message(messageId + "_title", pars.TitleParams.ToArray());
            }
            else
            {
                mess.body  = Translator.MessageWithCulture(messageId, lang, pars.BodyParams.ToArray());
                mess.title = Translator.MessageWithCulture(messageId + "_title", lang, pars.TitleParams.ToArray());
            }

            mess.image = pars.Image;
        }
Exemple #7
0
        internal static FirebaseApp FromJson(string json)
        {
            // after the connect call, make it look like some data has shown up.
            var connection = A.Fake <IFirebaseNetworkConnection>();

            A.CallTo(() => connection.Connect()).Invokes(() =>
            {
                var msg  = new FirebaseMessage(WriteBehavior.Replace, new FirebasePath(), json, null, MessageSouce.Remote);
                var args = new FirebaseEventReceivedEventArgs(msg);

                // do it on a separate thread to make sure we don't ignore
                // locking issues during tests
                Task.Run(() => connection.Received += Raise.With(args));
            });

            return(new FirebaseApp(new Uri("https://example.com/"), connection));
        }
        internal static RemoteNotification ToCrossPlatformRemoteNotification(this MessageReceivedEventArgs eventArgs)
        {
            if (eventArgs == null)
            {
                Debug.LogError("ToCrossPlatformRemoteNotification, EventArgs: null");
                return(null);
            }

            FirebaseMessage firebasePayload = eventArgs.Message.ToEasyMobileFirebaseMessage();
            string          actionID        = firebasePayload.Notification != null ? firebasePayload.Notification.ClickAction : null;

            return(new RemoteNotification(
                       actionID,
                       firebasePayload,
                       !firebasePayload.NotificationOpened,
                       firebasePayload.NotificationOpened
                       ));
        }
        /// <summary>
        /// Firebase Push Notification Send Request Model Validate Method
        /// </summary>
        public static bool ValidateRequest(FirebaseMessage notificationObject)
        {
            if (notificationObject == null)
            {
                return(false);
            }

            if ((notificationObject.Registration_Ids == null || notificationObject.Registration_Ids.Length < 1) && string.IsNullOrWhiteSpace(notificationObject.To))
            {
                return(false);
            }

            if (notificationObject.Notification == null || string.IsNullOrWhiteSpace(notificationObject.Notification.Title))
            {
                return(false);
            }

            return(true);
        }
Exemple #10
0
        public AN_FirebaseMessage(FirebaseMessage message)
        {
            m_collapseKey        = message.CollapseKey;
            m_error              = message.Error;
            m_errorDescription   = message.ErrorDescription;
            m_from               = message.From;
            m_messageId          = message.MessageId;
            m_messageType        = message.MessageType;
            m_notificationOpened = message.NotificationOpened;
            m_priority           = message.Priority;
            m_rawData            = message.RawData;
            m_to       = message.To;
            Data       = message.Data;
            Link       = message.Link;
            TimeToLive = message.TimeToLive;

            if (message.Notification != null)
            {
                Notification = new AN_FirebaseNotification(message.Notification);
            }
        }
Exemple #11
0
        private HttpMethod GetMethod(FirebaseMessage message)
        {
            if (message.Value == null)
            {
                return(HttpMethod.Delete);
            }

            switch (message.Behavior)
            {
            case WriteBehavior.Merge:
                return(new HttpMethod("PATCH"));

            case WriteBehavior.Push:
                return(HttpMethod.Post);

            case WriteBehavior.Replace:
                return(HttpMethod.Put);

            default:
                throw new NotImplementedException();
            }
        }
Exemple #12
0
    private void GetData(FirebaseMessage result /*PlayFab.ClientModels.GetUserDataResult result*/)
    {
        if (CheckForInvitation)
        {
            if (result.Data.ContainsKey("REQUEST TIME"))
            {
                Debug.Log("789  get Data Successfully");

                // IFormatProvider.
                CultureInfo provider = CultureInfo.InvariantCulture;

                // DateTime _invitationSendingTime = DateTime.Parse(result.Data["REQUEST TIME:"].Value);
                DateTime _invitationSendingTime = new DateTime();

                if (DateTime.TryParseExact(result.Data["REQUEST TIME"], "MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out _invitationSendingTime))
                {
                    Debug.Log("000 Invitation Time:" + _invitationSendingTime);

                    PlayFabServerAPI.GetTime(new PlayFab.ServerModels.GetTimeRequest {
                    }, OnGetTimeSuccess =>
                    {
                        if ((OnGetTimeSuccess.Time - _invitationSendingTime).TotalMinutes <= 5)
                        {
                            Debug.Log("789  less then 5 min");
                            GameInvitationUI.SetActive(true);
                            GameInvitationUI.GetComponent <GameInvitationUI>().SetGameInvitationInfo(result);
                            CheckForInvitation = false;
                        }
                        else
                        {
                            Debug.Log("789  more then 5 min");
                            GameInvitationUI.SetActive(false);
                        }
                    }, LogFailure => { });
                }
            }
        }
    }
Exemple #13
0
        private void UpdateLocal(FirebaseMessage message)
        {
            if (message.Value == null)
            {
                Delete(message.Path);
            }
            else
            {
                JToken newData = CreateToken(message.Value);


                if (message.Behavior == WriteBehavior.Merge)
                {
                    Merge(message.Path, newData);
                }
                else
                {
                    if (message.Behavior == WriteBehavior.Replace)
                    {
                        if (message.Priority != null)
                        {
                            newData[".priority"] = new JValue(message.Priority.JsonValue);
                        }
                    }

                    InsertAt(message.Path, newData);
                }
            }

            OnChanged(message);

            if (message.Source == MessageSouce.Local)
            {
                QueueUpdate(message);
            }
        }
Exemple #14
0
 public FirebaseEventReceivedEventArgs(FirebaseMessage message)
 {
     Message = message;
 }
Exemple #15
0
        public void Update(FirebasePath path, string data, FirebaseStatusCallback callback)
        {
            var message = new FirebaseMessage(WriteBehavior.Merge, path, data, callback, MessageSouce.Local);

            UpdateLocal(message);
        }
Exemple #16
0
 private void QueueUpdate(FirebaseMessage firebaseMessage)
 {
     _connection.Send(firebaseMessage);
 }
Exemple #17
0
 public void Send(FirebaseMessage message)
 {
     _sendQueue.Enqueue(_cancelSource.Token, message);
 }
Exemple #18
0
    IEnumerator PlayfabLogInDelay(FirebaseMessage result)
    {
        yield return(new WaitUntil(() => PlayFabClientAPI.IsClientLoggedIn()));

        GetData(result);
    }