using UnityEngine;
namespace Unity.Services.Mediation
{
///
/// The interface for Mediation features.
///
public interface IMediationService
{
///
/// The Interstitial ads creator function.
///
/// The Ad Unit Id for the ad unit you wish to show.
/// A new Interstitial Ad instance.
IInterstitialAd CreateInterstitialAd(string adUnitId);
///
/// The Rewarded ads creator function.
///
/// The Ad Unit Id for the ad unit you wish to show.
/// A new Rewarded Ad instance.
IRewardedAd CreateRewardedAd(string adUnitId);
///
/// The Banner ads creator function.
///
/// Unique Id for the Ad you want to show.
/// Size of banner set to be constructed.
/// Anchor on which the banner position is based
/// The X, Y coordinates offsets, relative to the anchor point
/// A new Banner Ad instance.
IBannerAd CreateBannerAd(string adUnitId, BannerAdSize size, BannerAdAnchor anchor = BannerAdAnchor.Default, Vector2 positionOffset = new Vector2());
///
/// Access the Data Privacy API, to register the user's consent status.
///
IDataPrivacy DataPrivacy { get; }
///
/// Access the Impression Event Publisher API, to receive events when impression events are fired from ad objects.
///
IImpressionEventPublisher ImpressionEventPublisher { get; }
///
/// Native Mediation SDK version this mediation service is operating upon.
///
string SdkVersion { get; }
}
}