using System;
namespace IndieExchange
{
    [Serializable] internal sealed class AdRequest
    {
        public string sdkKey, requestId, platform, countryCode, deviceHash, bannerSize, session, category;
        public int format;
    }
    [Serializable] internal sealed class LaunchConfiguration
    {
        public string session, expires;
        public FormatConfiguration[] formats;
    }
    [Serializable] internal sealed class FormatConfiguration
    {
        public int format, percentage, publicPercentage;
        public string bannerSize, bannerPosition;
    }
    [Serializable] internal sealed class AdCreative
    {
        public string id, url, aspectRatio, thumbnailUrl;
        public int type;
    }
    [Serializable] internal sealed class AdResponse
    {
        public string ticket, ticketExpires;
        public string requestId, campaignId, promotedGameId, gameName, headline, description, ctaText, destinationUrl;
        public AdCreative creative;
        public float creditCost;
        public bool isHouseAd;
    }
    [Serializable] internal sealed class TrackingEvent
    {
        public string sdkKey, requestId, eventId;
    }
    [Serializable] internal sealed class StatisticsReport
    {
        public string sdkKey, installationId, placementId;
        public int format;
        public long opportunities, selected, shown, unavailable, fallbackShown;
    }
}
