using System.Collections.Generic; namespace UnityEngine.Monetization { public interface IPlacementContentOperations { void SendCustomEvent(CustomEvent customEvent); bool ready { get; } PlacementContentState state { get; } } public interface IRewardedOperations : IPlacementContentOperations { bool IsRewarded(); string rewardId { get; } } /// /// ShowResult is passed to [[ShowOptions.resultCallback]] after the advertisement has completed. /// public enum ShowResult { /// /// Indicates that the advertisement failed to complete. /// Failed, /// /// Indicates that the advertisement was skipped. /// Skipped, /// /// Indicates that the advertisement completed successfully. /// Finished } public delegate void ShowAdFinishCallback(ShowResult finishState); public delegate void ShowAdStartCallback(); public struct ShowAdCallbacks { public ShowAdFinishCallback finishCallback; public ShowAdStartCallback startCallback; } public interface IShowAdOperations : IRewardedOperations { void Show(ShowAdCallbacks? callbacks); } public interface IPromoAdOperations : IShowAdOperations { PromoMetadata metadata { get; } } }