OneConversorTemplate/OnlyOneAccessTemplate/Models/AdsModels.cs
2025-06-01 20:50:21 -03:00

32 lines
1.2 KiB
C#

namespace OnlyOneAccessTemplate.Models
{
public class AdSettings
{
public bool Enabled { get; set; } = true;
public string PublisherID { get; set; } = "";
public bool TestMode { get; set; } = false;
public Dictionary<string, string> Slots { get; set; } = new();
public AdDisplayRules DisplayRules { get; set; } = new();
}
public class AdDisplayRules
{
public int MaxAdsPerPage { get; set; } = 7;
public int MaxAdsAboveFold { get; set; } = 3;
public bool ShowOnMobile { get; set; } = true;
public bool AllowStickyAds { get; set; } = true;
public List<string> DisabledPositions { get; set; } = new();
}
public class AdPerformanceMetrics
{
public string Position { get; set; } = "";
public int Impressions { get; set; }
public int Clicks { get; set; }
public double CTR => Impressions > 0 ? (double)Clicks / Impressions * 100 : 0;
public decimal Revenue { get; set; }
public decimal RPM => Impressions > 0 ? Revenue / Impressions * 1000 : 0;
public DateTime LastUpdated { get; set; } = DateTime.UtcNow;
}
}