using System; using System.Threading.Tasks; using UnityEngine; namespace Unity.Services.Mediation { /// /// Interface of an Banner Ad. /// public interface IBannerAd : IDisposable { /// /// Event to be triggered by the adapter when an Ad is loaded. /// event EventHandler OnLoaded; /// /// Event to be triggered by the adapter when an Ad fails to load. /// event EventHandler OnFailedLoad; /// /// Event to be triggered by the adapter when the user clicks on the Ad. /// event EventHandler OnClicked; /// /// Event to be triggered by the adapter when the Ad refreshes /// event EventHandler OnRefreshed; /// /// Get the current state of the ad. /// AdState AdState { get; } /// /// Get the ad unit id set during construction. /// string AdUnitId { get; } /// /// Get the banner size set during construction. /// BannerAdSize Size { get; } /// /// Sets the position of the banner ad. /// /// Anchor on which the banner position is based /// The X, Y coordinates offsets, relative to the anchor point void SetPosition(BannerAdAnchor anchor, Vector2 positionOffset = new Vector2()); /// /// Loads the banner ad, and displays it when ready /// /// LoadAsync Task Task LoadAsync(); } }