横幅广告

开始之前

在开始集成横幅广告之前,您需要完成以下步骤:

  • 在 OpenMediation 开发者前台页面,创建开发者账号,添加应用,然后申请并配置一个‘Banner Ad’类型的广告位,操作手册在 这里
  • Android SDK 下载与集成 指导下,将 OpenMediation SDK添加到您的开发项目并完成了SDK初始化操作
  • 如果需要聚合第三方平台,您需要在完成本节的广告集成之后,参考 添加聚合网络 进行操作

横幅广告

横幅广告(Banner)提供一个长方形的横幅广告,一般在应用指定的区域提供展现。

横幅广告格式:

Image text

 

Step 1. 初始化BannerAd对象

SDK会触发一系列事件通知应用程序Banner广告的初始化、加载、展示等结果。使用Banner广告的过程,需要创建BannerAd对象、实现并设置监听事件的Listener,然后调用loadAd方法加载并展示广告。Banner广告没有 show 方法, 需要在广告加载成功后马上展示广告。

下面的代码示例展示了如何使用BannerAd 对象和实现BannerAdListener 接口来监听广告事件。Banner广告所有的事件类型都能在下面代码中找到。

import com.openmediation.sdk.banner.AdSize;
import com.openmediation.sdk.banner.BannerAd;
import com.openmediation.sdk.banner.BannerAdListener;
...
BannerAd bannerAd = new BannerAd(placementId, new BannerAdListener() {

      /** 
       * Invoked when Banner Ad are available.
       */
      @Override
      public void onBannerAdLoaded(String placementId, View view) {
          // bannerAd is load success
      }

      /** 
       * Invoked when the end user clicked on the Banner Ad
       */
      @Override
      public void onBannerAdClicked(String placementId) {
         // bannerAd clicked
      }

      /** 
       * Invoked when the call to load a Banner Ad has failed
       * String error contains the reason for the failure.
      */
      @Override
      public void onBannerAdLoadFailed(String placementId, Error error) {
         // bannerAd fail
      }
});
// default size
bannerAd.setAdSize(AdSize.BANNER);

 

有关我们支持的标准横幅尺寸的详细信息,请参见下表:

AdSize Description Dimensions in dp (WxH)
AdSize.BANNER Standard Banner 320 x 50
AdSize.MEDIUM_RECTANGLE Medium Rectangular Banner 300 x 250
AdSize.LEADERBOARD LeaderBoard Banner 728 x 90
AdSize.SMART Smart Banner
(Adjusted for both mobile and tablet)
If (screen height ≤ 720) 320 x 50
If (screen height > 720) 728 x 90

  

Step 2. 加载Banner广告

您需要在展示广告前调用 loadAd 方法来请求和缓存广告。我们建议您务必在广告展示前提前一定时间进行调用,以免影响广告体验。

bannerAd.loadAd();

 注意:

  • loadAd 方法可以同时被多次调用,但是我们不建议这么做。因为短时间的连续调用不会增加广告填充率,如果已经有正在进行中的加载,新的请求不会被处理。
  • 警告: 在onAdFailed回调事件中进行广告加载操作是非常危险的,如果您一定要在此处进行加载,请务必设置一个时间间隔限制,避免程序因为无网络等原因造成连续的失败而进入死循环。
  • 请不要在应用程序中定时请求Banner广告,OpenMediation SDK会自动对Banner广告进行定时刷新。

 

Step 3. 展示Banner广告

第二步中Banner广告加载成功后,应用程序将会收到onAdReady事件表明广告缓存成功。一旦收到onAdReady事件,您可以进行广告展示,请参考以下代码示例。

 private RelativeLayout adParent;
 ...
 adParent = this.findViewById(R.id.banner_ad_container);
 ...

 @Override
 public void onBannerAdLoaded(String placementId, View view) {
    // bannerAd is loaded successfully
    if (null != view.getParent()) {
        ((ViewGroup) view.getParent()).removeView(view);
    }
    adParent.removeAllViews();
    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
    RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT);
    adParent.addView(view, layoutParams);
}

■ R.id.banner_ad_container 代码:

<RelativeLayout
   android:id="@+id/banner_ad_container"
   android:layout_width="match_parent"
   android:layout_height="wrap_content">

</RelativeLayout>

 

Step 4. 销毁BannerAd对象

我们建议您在Activity被销毁之前调用destroy方法来释放BannerAd对象。

@Override
public void onDestroy() {
   if (bannerAd != null) {
      bannerAd.destroy();
   }
   super.onDestroy();
}

 

Step 5. 支持Network横幅尺寸

您可以在下面找到支持的Network,以及每个Network Banner Size的尺寸:

Platforms BANNER MEDIUM_RECTANGLE LEADERBOARD SMART
AdMob Banner Medium Rectangle Leaderboard Smart
Facebook Banner Medium Rectangle Leaderboard Banner / Leaderboard
UnityAds Banner   Leaderboard Banner / Leaderboard
Vungle Banner   Leaderboard Banner / Leaderboard
AppLovin Banner   Leaderboard Banner / Leaderboard
IronSource Banner Medium Rectangle Leaderboard Smart
这篇文章有帮助吗?
2 人中有 2 人觉得有帮助

评论

0 条评论

文章评论已关闭。