using System; using System.Threading.Tasks; using System.Runtime.InteropServices; namespace Unity.Services.Mediation { /// /// Interface of a Rewarded Ad on the platform side. /// interface IPlatformRewardedAd : 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 a Rewarded Ad is shown. /// event EventHandler OnShowed; /// /// Event to be triggered by the adapter when the user clicks on the RewardedAd. /// event EventHandler OnClicked; /// /// Event to be triggered by the adapter when the RewardedAd is closed. /// event EventHandler OnClosed; /// /// Event to be triggered by the adapter when the RewardedAd has an error. /// event EventHandler OnFailedShow; /// /// Event to be triggered by the adapter when a reward needs to be issued. /// event EventHandler OnUserRewarded; /// ///Gets the state of the RewardedAd /// AdState AdState { get; } /// /// Gets the id of the ad unit. /// string AdUnitId { get; } /// /// Method to tell the Mediation SDK to load an Ad. /// void Load(); /// /// Method to tell the Mediation SDK to show the loaded Ad. /// /// Optional, allows setting optional parameters for showing a rewarded ad. void Show(RewardedAdShowOptions showOptions = null); } }