InterstitialAd Xamarin 表单的广告关闭事件

Ad Close Event For InterstitialAd Xamarin forms

我正在实施 google 我的应用程序广告中的插页式广告显示效果很好我只想获得此广告的广告关闭事件我通过互联网搜索但我没有获得任何广告关闭事件这个广告是我的代码

我的界面

public  interface IAdInterstitial
{
    void ShowAd();
    void LoadInterstitialAd();
}

我的 android 自定义渲染器

public class AdInterstitial_Droid : IAdInterstitial
{
    InterstitialAd interstitialAd;

    public AdInterstitial_Droid()
    {
        interstitialAd = new InterstitialAd(Android.App.Application.Context);

        // TODO: change this id to your admob id  
        interstitialAd.AdUnitId = "ca-app-pub-3940256099942544/1033173712";
        LoadAd();
    }

   public void LoadAd()
    {
        var requestbuilder = new AdRequest.Builder();
        interstitialAd.LoadAd(requestbuilder.Build());
    }

    public void ShowAd()
    {
        if (interstitialAd.IsLoaded)
            interstitialAd.Show();

        LoadAd();
    }

    public void LoadInterstitialAd()
    {
        var requestbuilder = new AdRequest.Builder();
        interstitialAd.LoadAd(requestbuilder.Build());
    }
}

如何获取此广告的广告关闭事件,以便我可以在广告关闭时执行一些操作

您可以创建自己的 AdListener 子类来侦听 OnAdClosed 事件,然后调用您自己的操作:

用法示例:

public AdInterstitial_Droid()
{
    interstitialAd = new InterstitialAd(Android.App.Application.Context);
    interstitialAd.AdListener = new MyAdListener(() =>
    {
        // Ad closing, do whatever you need to do
    });

    // TODO: change this id to your admob id  
    interstitialAd.AdUnitId = "xxxxx";
    LoadAd();
}

AdListener 子类

public class MyAdListener : AdListener
{
    Action OnCloseAction;

    public MyAdListener(Action OnCloseAction)
    {
        this.OnCloseAction = OnCloseAction;
    }

    public override void OnAdClosed()
    {
        OnCloseAction?.Invoke();
        base.OnAdClosed();
    }
}