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); }
/// <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); }