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を設定して)、そこに広告をロードする必要があります。

メディエーションを実行するには、onReceivedAdとだけが絶対に必要です。onFailedToReceiveAdその他は、メインのAdViewのAdListenerがこれらのイベントをリッスンできるようにするために役立ちます。

于 2012-11-20T17:25:11.247 に答える