请先根据文档 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来进一步了解。