protected void LogAndAddReason(string reason, bool displayed, List <SwrveQaUserCampaignInfo> qaCampaignInfoList)
 {
     if (SwrveQaUser.Instance.loggingEnabled && qaCampaignInfoList != null)
     {
         SwrveQaUserCampaignInfo campaignInfo = null;
         if (this is SwrveConversationCampaign)
         {
             SwrveConversationCampaign conversationCampaign = (SwrveConversationCampaign)this;
             campaignInfo = new SwrveQaUserCampaignInfo(Id, conversationCampaign.Conversation.Id, conversationCampaign.GetCampaignType(), displayed, reason);
         }
         else if (this is SwrveInAppCampaign)
         {
             SwrveInAppCampaign inAppCampaign = (SwrveInAppCampaign)this;
             campaignInfo = new SwrveQaUserCampaignInfo(Id, inAppCampaign.Messages[0].Id, inAppCampaign.GetCampaignType(), displayed, reason);
         }
         else if (this is SwrveEmbeddedCampaign)
         {
             SwrveEmbeddedCampaign embeddedCampaign = (SwrveEmbeddedCampaign)this;
             campaignInfo = new SwrveQaUserCampaignInfo(Id, embeddedCampaign.Message.Id, embeddedCampaign.GetCampaignType(), displayed, reason);
         }
         if (campaignInfo != null)
         {
             qaCampaignInfoList.Add(campaignInfo);
         }
     }
     SwrveLog.Log(string.Format("{0} {1}", this, reason));
 }
        public static SwrveBaseCampaign LoadFromJSONWithNoValidation(ISwrveAssetsManager swrveAssetsManager, Dictionary <string, object> campaignData, DateTime initialisedTime, UnityEngine.Color?defaultBackgroundColor, List <SwrveQaUserCampaignInfo> qaUserCampaignInfoList = null)
        {
            int id = MiniJsonHelper.GetInt(campaignData, ID_KEY);
            SwrveBaseCampaign campaign = null;

            if (campaignData.ContainsKey(CONVERSATION_KEY))
            {
                campaign = SwrveConversationCampaign.LoadFromJSON(swrveAssetsManager, campaignData, id, initialisedTime);
            }
            else if (campaignData.ContainsKey(MESSAGES_KEY))
            {
                campaign = SwrveInAppCampaign.LoadFromJSON(swrveAssetsManager, campaignData, id, initialisedTime, defaultBackgroundColor, qaUserCampaignInfoList);
            }
            else if (campaignData.ContainsKey(EMBEDDED_MESSAGE_KEY))
            {
                campaign = SwrveEmbeddedCampaign.LoadFromJSON(campaignData, initialisedTime, qaUserCampaignInfoList);
            }

            if (campaign == null)
            {
                return(null);
            }
            campaign.Id = id;
            return(campaign);
        }
Пример #3
0
        public static SwrveEmbeddedCampaign LoadFromJSON(Dictionary <string, object> campaignData, DateTime initialisedTime, List <SwrveQaUserCampaignInfo> qaUserCampaignInfoList)
        {
            SwrveEmbeddedCampaign campaign = new SwrveEmbeddedCampaign(initialisedTime);

            campaign.Message = SwrveEmbeddedMessage.LoadFromJSON(campaign, (Dictionary <string, object>)campaignData ["embedded_message"]);
            return(campaign);
        }
        public static SwrveEmbeddedMessage LoadFromJSON(SwrveEmbeddedCampaign campaign, Dictionary <string, object> messageData)
        {
            SwrveEmbeddedMessage message = new SwrveEmbeddedMessage();

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

            if (messageData.ContainsKey("id"))
            {
                message.Id = MiniJsonHelper.GetInt(messageData, "id");
            }

            if (messageData.ContainsKey("type"))
            {
                string typeString = MiniJsonHelper.GetString(messageData, "type");
                message.setType(typeString);
            }

            if (messageData.ContainsKey("buttons"))
            {
                List <object> jsonButtons = (List <object>)messageData ["buttons"];
                if (jsonButtons.Count > 0)
                {
                    message.buttons = new List <string>();
                }

                for (int i = 0; i < jsonButtons.Count; i++)
                {
                    string buttonName = (string)jsonButtons[i];
                    message.buttons.Add(buttonName);
                }
            }

            if (messageData.ContainsKey("data"))
            {
                message.data = MiniJsonHelper.GetString(messageData, "data");
            }

            return(message);
        }