7

#IronSource Android游戏banner广告快速接入指南

 3 years ago
source link: https://xmanyou.com/ironsource-android-banneryan-gao-jie-ru-zhi-nan/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

最近IronSource开始支持Banner广告了,总结一下Android游戏接入IronSource Banner广告的一些要点:

https://developers.ironsrc.com/ironsource-mobile/android/banner-integration-android

详细接入步骤

1. 初始化Banner广告

  • 1). 创建banner的容器 FrameLayout
  • 2). 创建banner view (设置尺寸)
  • 3). 将banner view添加到容器里
  • 4). 将banner容器添加到MainActivity
  • 5). 设置banner回调方法
  • 6). 加载banner广告
    public static void initBanner(boolean showAfterLoad){
        // _app = MainActivity
        if(_app == null){
            Log.w(TAG, "initBanner: App not inited");
            return;
        }

        // 1). 创建banner容器
        FrameLayout bannerContainer = new FrameLayout(_app);
        FrameLayout.LayoutParams containerParams = new FrameLayout.LayoutParams(
                FrameLayout.LayoutParams.MATCH_PARENT,
                FrameLayout.LayoutParams.WRAP_CONTENT
        );
        containerParams.gravity = Gravity.BOTTOM;
        _bannerContainer = bannerContainer;

        // 2). 创建banner view
        IronSourceBannerLayout banner = IronSource.createBanner(_app, ISBannerSize.BANNER);
        _banner = banner;
        FrameLayout.LayoutParams bannerParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,
                FrameLayout.LayoutParams.WRAP_CONTENT);

        // 3). 将banner view添加到容器里
        bannerContainer.addView(banner, 0, bannerParams);

        // 4). 把bannerContainer添加到MainActivity里
        _app.addContentView(bannerContainer, containerParams);

        // 5). 设置banner回调方法
        banner.setBannerListener(new BannerListener() {
            @Override
            public void onBannerAdLoaded() {
                // Called after a banner ad has been successfully loaded
                Log.d(TAG, "onBannerAdLoaded: ===> Banner loaded");
            }

            @Override
            public void onBannerAdLoadFailed(IronSourceError error) {
                Log.d(TAG, "onBannerAdLoadFailed: ===> Banner load failed: " + error.getErrorMessage());
                // Called after a banner has attempted to load an ad but failed.
                _app.runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        _bannerContainer.removeAllViews();
                        // TODO: 也许可以尝试重新创建banner view并load
                    }
                });
            }

            @Override
            public void onBannerAdClicked() {
                // Called after a banner has been clicked.
                Log.d(TAG, "onBannerAdClicked: ===> Banner Clicked");
            }

            @Override
            public void onBannerAdScreenPresented() {
                // Called when a banner is about to present a full screen content.
                Log.d(TAG, "onBannerAdScreenPresented: ===> Banner Showed");
            }

            @Override
            public void onBannerAdScreenDismissed() {
                // Called after a full screen content has been dismissed
                Log.d(TAG, "onBannerAdScreenDismissed: ===> Banner Hided");
            }

            @Override
            public void onBannerAdLeftApplication() {
                // Called when a user would be taken out of the application context.
                Log.d(TAG, "onBannerAdLeftApplication: ");
            }
        });

        // 6). 加载banner广告
        IronSource.loadBanner(_banner);
        
        // 7). 如果不需要马上显示,可以隐藏
        if(!showAfterLoad){
            hideBanner();
        }
    }

2. 加载Banner

IronSource.loadBanner(_banner);

3. 销毁Banner

IronSource.destroyBanner(_banner);

如果销毁了的话,应该是要重新创建banner view的。

4. 显示Banner

    public static void showBanner(){
        if(_banner == null){
            Log.w(TAG, "showBanner: Banner Not Inited");
            return;
        }
        Log.d(TAG, "showBanner: ===> start loading banner");
        _banner.setVisibility(View.VISIBLE);
    }

5. 隐藏Banner

    public static void hideBanner(){
        if(_banner == null){
            Log.w(TAG, "hideBanner: Banner Not Inited");
            return;
        }

        Log.d(TAG, "hideBanner: ===> hide banner");
        _banner.setVisibility(View.INVISIBLE);
    }

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK