WXInterstitialAd.cs 1.3 KB
Newer Older
J
junkunzhang 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
using System;
namespace WeChatWASM
{
    //插屏广告组件广告,详见 https://developers.weixin.qq.com/minigame/dev/guide/open-ability/ad/interstitialAd-ad.html
    public class WXInterstitialAd : WXBaseAd, IWXADCloseable
    {
        public WXInterstitialAd(string id) : base(id)
        {

        }
        public Action onCloseAction;

        /// <summary>
        /// 加载插屏广告
        /// </summary>
        public void Load(Action<WXTextResponse> success = null, Action<WXADErrorResponse> failed = null)
        {
            WXSDKManagerHandler.Instance.ADLoad(instanceId, WXCallBackHandler.Add(success), WXCallBackHandler.Add(failed));
        }

        /// <summary>
        /// 监听插屏广告关闭事件
        /// </summary>
        /// <param name="action">插屏广告关闭事件的回调函数</param>
        public void OnClose(Action action)
        {
            onCloseAction += action;
        }

        /// <summary>
        /// 取消监听插屏广告关闭事件
        /// </summary>
        /// <param name="action">插屏广告关闭事件的回调函数</param>
        public void OffClose(Action action)
        {
            onCloseAction -= action;
        }

        public void OnCloseCallback()
        {
            onCloseAction?.Invoke();
        }
    }
}