using Newtonsoft.Json;
using UnityEngine;

namespace Adplay.Model
{
    [System.Serializable]
    public class Engagement
    {
        [JsonIgnore] public int Id { get; set; }
        [JsonProperty("engagement_type")][field: SerializeField] public EngagementType EngagementType { get; set; }
        [JsonProperty("campaign_id")][field: SerializeField] public int CampaignId { get; set; }
        [JsonProperty("zone_id")][field: SerializeField] public int ZoneId { get; set; }
        [JsonProperty("app_id")][field: SerializeField] public int AppId { get; set; }
        [JsonProperty("publisher_id")][field: SerializeField] public int PublisherId { get; set; }
        [JsonProperty("creative_id")][field: SerializeField] public int CreativeId { get; set; }
        [JsonProperty("region_id")][field: SerializeField] public int RegionId { get; set; }
        [JsonProperty("user_ip")][field: SerializeField] public string UserIp { get; set; }
        [JsonProperty("google_ad_id")][field: SerializeField] public string GoogleAdId { get; set; }
        [JsonProperty("platform")][field: SerializeField] public Platform Platform { get; set; }
        [JsonProperty("deviceModel")][field: SerializeField] public string DeviceModel { get; set; }
        [JsonProperty("duration")][field: SerializeField] public int Duration { get; set; }
        [JsonProperty("visibilityScore")][field: SerializeField] public int VisibilityScore { get; set; }
        [JsonProperty("screenCoverage")][field: SerializeField] public int ScreenCoverage { get; set; }
        [JsonProperty("angleQuality")][field: SerializeField] public int AngleQuality { get; set; }
        [JsonProperty("cost")][field: SerializeField] public float Cost { get; set; }

    }

}
