繁体   English   中英

非页内广告的广告关闭事件

[英]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();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM