public InAppMessageImmersiveBase(JSONClass json) : base(json)
        {
            Header           = json[InAppMessageConstants.HeaderKey];
            HeaderTextColor  = ColorUtils.HexToColor(json[InAppMessageConstants.HeaderTextColorKey]);
            CloseButtonColor = ColorUtils.HexToColor(json[InAppMessageConstants.CloseButtonColorKey]);

            if (json[InAppMessageConstants.ButtonsKey] != null)
            {
                Buttons = new List <InAppMessageButton>();
                JSONArray jsonArray = (JSONArray)JSON.Parse(json[InAppMessageConstants.ButtonsKey].ToString());
                Debug.Log(String.Format("parse in-app message with {0} buttons", jsonArray.Count));
                for (int i = 0; i < jsonArray.Count; i++)
                {
                    JSONClass buttonJson = jsonArray[i].AsObject;
                    try {
                        Debug.Log(String.Format("Button no. {0} json string is {1}", i, buttonJson));
                        InAppMessageButton button = new InAppMessageButton(buttonJson);
                        if (button != null)
                        {
                            Buttons.Add(button);
                        }
                    } catch {
                        Debug.Log(String.Format("Unable to parse button from {0}", buttonJson));
                    }
                }
            }
        }
        public InAppMessageImmersiveBase(JSONClass json)
            : base(json)
        {
            Header = json[InAppMessageConstants.HeaderKey];
              HeaderTextColor = ColorUtils.HexToColor(json[InAppMessageConstants.HeaderTextColorKey]);
              CloseButtonColor = ColorUtils.HexToColor(json[InAppMessageConstants.CloseButtonColorKey]);

              if (json[InAppMessageConstants.ButtonsKey] != null) {
            Buttons = new List<InAppMessageButton>();
            JSONArray jsonArray = (JSONArray)JSON.Parse(json[InAppMessageConstants.ButtonsKey].ToString());
            Debug.Log(String.Format("parse in-app message with {0} buttons", jsonArray.Count));
            for (int i = 0; i < jsonArray.Count; i++) {
              JSONClass buttonJson = jsonArray[i].AsObject;
              try {
            Debug.Log(String.Format("Button no. {0} json string is {1}", i, buttonJson));
            InAppMessageButton button = new InAppMessageButton(buttonJson);
            if (button != null) {
              Buttons.Add(button);
            }
              } catch {
            Debug.Log(String.Format("Unable to parse button from {0}", buttonJson));
              }
            }
              }
        }