Пример #1
0
        public static SwrveMessage LoadFromJSON(ISwrveAssetsManager swrveAssetsManager, SwrveMessagesCampaign campaign, Dictionary <string, object> messageData, Color?defaultBackgroundColor)
        {
            SwrveMessage swrveMessage = new SwrveMessage(swrveAssetsManager, campaign);

            swrveMessage.Id   = MiniJsonHelper.GetInt(messageData, "id");
            swrveMessage.Name = (string)messageData["name"];
            if (messageData.ContainsKey("priority"))
            {
                swrveMessage.Priority = MiniJsonHelper.GetInt(messageData, "priority");
            }
            Dictionary <string, object> dictionary = (Dictionary <string, object>)messageData["template"];
            IList <object> list = (List <object>)dictionary["formats"];
            int            i    = 0;

            for (int count = list.Count; i < count; i++)
            {
                Dictionary <string, object> messageFormatData = (Dictionary <string, object>)list[i];
                SwrveMessageFormat          item = SwrveMessageFormat.LoadFromJSON(swrveAssetsManager, swrveMessage, messageFormatData, defaultBackgroundColor);
                swrveMessage.Formats.Add(item);
            }
            return(swrveMessage);
        }
Пример #2
0
        /// <summary>
        /// Load an in-app message from a JSON response.
        /// </summary>
        /// <param name="campaign">
        /// Parent in-app campaign.
        /// </param>
        /// <param name="messageData">
        /// JSON object with the individual message data.
        /// </param>
        /// <returns>
        /// Parsed in-app message.
        /// </returns>
        public static SwrveMessage LoadFromJSON(ISwrveAssetsManager swrveAssetsManager, SwrveInAppCampaign campaign, Dictionary <string, object> messageData, Color?defaultBackgroundColor)
        {
            SwrveMessage message = new SwrveMessage(swrveAssetsManager, campaign);

            message.Id   = MiniJsonHelper.GetInt(messageData, "id");
            message.Name = (string)messageData ["name"];

            if (messageData.ContainsKey("priority"))
            {
                message.Priority = MiniJsonHelper.GetInt(messageData, "priority");
            }

            Dictionary <string, object> template = (Dictionary <string, object>)messageData ["template"];
            IList <object> jsonFormats           = (List <object>)template ["formats"];

            for (int i = 0, j = jsonFormats.Count; i < j; i++)
            {
                Dictionary <string, object> messageFormatData = (Dictionary <string, object>)jsonFormats [i];
                SwrveMessageFormat          messageFormat     = SwrveMessageFormat.LoadFromJSON(swrveAssetsManager, message, messageFormatData, defaultBackgroundColor);
                message.Formats.Add(messageFormat);
            }

            return(message);
        }