请先根据文档 basic integration article集成,再进行ad format部分集成.
Banner广告不占用全部屏幕,开发者可以决定其所在位置。Banner容器尺寸必须为 320x50, 300x50, 300x250 (for MREC) or 728x90 (for tablets)其中之一。Banner广告不影响用户的应用体验。
创建并加载Banner广告
-
在集成Banner广告之前,请先创建一个
RelativeLayout
到您的Activity/Fragment
,并将其命名为bannerAdContainer
。 - 在
Activity/Fragment
文件中,请导入BannerAd
并将BannerAd
实例化。 -
请查看一下示例,来创建并加载Banner广告。
请注意MREC广告在Dashboard中的类型为MREC,不为Banner类型。import com.vungle.ads.BannerAd private var bannerAd: BannerAd? = null bannerAd = BannerAd(requireContext(), placementId, BannerAdSize.BANNER).apply { adListener = this@BannerFragment load() }
import com.vungle.ads.BannerAd; private BannerAd bannerAd; bannerAd = new BannerAd(requireContext(), placementId, BannerAdSize.BANNER); bannerAd.setAdListener(this); bannerAd.load(null);
Banner 尺寸
Vungle支持一下Banner广告尺寸:
Banner Format | Banner Ad Size enum | Dimension |
---|---|---|
Banner | BANNER |
320 x 50 |
Short | BANNER_SHORT |
300 x 50 |
MREC | VUNGLE_MREC |
300 x 250 |
Leaderboard (tablet only) | BANNER_LEADERBOARD |
728 x 90 |
播放Banner广告
- 当广告缓存好后,您可以通过调用以下方法来播放广告。
val bannerView: BannerView? = bannerAd?.getBannerView() val params = FrameLayout.LayoutParams( FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT, Gravity.CENTER_HORIZONTAL ) bannerAdContainer.addView(bannerView, params)
BannerView bannerView = bannerAd.getBannerView(); ViewGroup.LayoutParams params = new FrameLayout.LayoutParams( FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT, Gravity.CENTER_HORIZONTAL); bannerAdContainer.addView(bannerView, params);
- 您可以通过添加并实现
BannerAdListener
来获取回调事件。(详情请查看 Register for Callbacks)。
Dismiss a Banner Ad
When the banner playback is completed, we recommend cleaning up the BannerAd
instance by removing it from the parent view.
bannerAdContainer.removeAllViews() bannerAd?.finishAd() bannerAd?.setAdListener(null) bannerAd = null
bannerAdContainer.removeAllViews(); bannerAd.finishAd(); bannerAd.setAdListener(null); bannerAd = null;
Register for Callbacks
您可以通过添加并实现BannerAdListener
来获取回调事件。
override fun onAdLoaded(baseAd: BaseAd) { Log.d(TAG, "Creative id:" + baseAd.creativeId) } override fun onAdStart(baseAd: BaseAd) { } override fun onAdImpression(baseAd: BaseAd) { } override fun onAdEnd(baseAd: BaseAd) { } override fun onAdClicked(baseAd: BaseAd) { } override fun onAdLeftApplication(baseAd: BaseAd) { } override fun onAdFailedToLoad(baseAd: BaseAd, adError: VungleError) { } override fun onAdFailedToPlay(baseAd: BaseAd, adError: VungleError) { }
@Override public void onAdClicked(@NonNull BaseAd baseAd) { } @Override public void onAdEnd(@NonNull BaseAd baseAd) { } @Override public void onAdFailedToLoad(@NonNull BaseAd baseAd, @NonNull VungleError vungleError) { } @Override public void onAdFailedToPlay(@NonNull BaseAd baseAd, @NonNull VungleError vungleError) { } @Override public void onAdImpression(@NonNull BaseAd baseAd) { } @Override public void onAdLeftApplication(@NonNull BaseAd baseAd) { } @Override public void onAdLoaded(@NonNull BaseAd baseAd) { Log.d(TAG, "Creative id:" + baseAd.getCreativeId()); } @Override public void onAdStart(@NonNull BaseAd baseAd) { }
测试广告
您可以通过两种方式测试插屏广告:将您的应用在dashboard中设置为测试模式;将您的设备gaid添加到dashboard的测试设备中,并使用该设备测试。 请查看该文档 Test Your Integration: Test Mode and Test Devices来进一步了解。