0

我想创建一个 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();
}

}
4

1 回答 1

1

代码看起来很不错。尽管您的横幅广告似乎在点击时除了通知之外没有做任何事情onClick()。如果您的横幅最终到达外部 Web 浏览器或 Play 商店,您也可以在 onClickListener 中调用onPresentScreen()和。onLeaveApplication()

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

只有onReceivedAdonFailedToReceiveAd对调解运行是绝对必要的。其他的很有用,以便您的主 AdView 的 AdListener 可以监听这些事件。

于 2012-11-20T17:25:11.247 回答