Mediation和CustomEventBanner java

时间:2012-11-20 11:11:46

标签: java admob

我想创建一个CustomEventBanner,但有一些问题。我不确定我是否在正确的地方做正确的事情。我应该在哪里添加横幅到我的布局?我是否必须调用CustomEventBannerListener的每个方法?哪些是绝对必要的?我怎么知道是否没有广告要显示(没有响亮)?

我实际上可以使用admob显示广告但不使用我的CustomAd :(

这是我的代码:

public class CustomAd implements CustomEventBanner, AdResponseHandler {
private CustomEventBannerListener bannerListener;
protected SASBannerView mBannerView;

@Override
public void requestBannerAd(final CustomEventBannerListener listener,
        final Activity activity, String label, String serverParameter,
        AdSize adSize, MediationAdRequest mediationAdRequest, Object extra) {
    // Keep the custom event listener for use later.
    this.bannerListener = listener;
    // Determine the best ad format to use given the adSize. If the adSize
    // isn't appropriate for any format, an ad will not fill.
    // Create banner instance
    mBannerView = new SASBannerView(activity);

    // Set the listener to register for events.
    this.mBannerView.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            try {
            listener.onClick();
            } catch (Throwable t) {
            }
        }
    });

    // Load the ad with the ad request giving an AdResponseHandler
    mBannerView.loadAd(42295, "286177", 18008, true, "",  this);
}

@Override
public void destroy() { // The destroy method gets called when the mediation
                        // framework refreshes
    // and removes the custom event. Perform any necessary cleanup here.
    if (this.mBannerView != null) {
        this.mBannerView.onDestroy();
    }
}


@Override
public void adLoadingCompleted(SASAdElement arg0) {
    this.bannerListener.onReceivedAd(this.mBannerView);
}

@Override
public void adLoadingFailed(Exception arg0) {
    this.bannerListener.onFailedToReceiveAd();
}

}

1 个答案:

答案 0 :(得分:1)

代码看起来很不错。虽然您的横幅广告似乎没有通过点击进行任何操作,只需通知onClick()。如果你的横幅最终到达外部网络浏览器或游戏商店,你也可以在onClickListener中调用onPresentScreen()onLeaveApplication()

请注意,这只是应用中用于实施SAS网络的自定义事件组件。您的主要活动仍需要创建AdView(设置了调解ID以定位您的自定义事件)并将广告加载到其中。

只有onReceivedAdonFailedToReceiveAd才能运行中介。其他的很有用,因此您的主AdView的AdListener可以监听这些事件。