7
#IronSource Android游戏banner广告快速接入指南
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.
最近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);
}
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK