适用于 Android 的横幅集成
通过初始化 SDK、在初始化后创建横幅广告对象以及设置适当的广告大小和位置来集成横幅广告服务。
阅读时间9 分钟最后更新于 2 天前
横幅是由系统启动的矩形广告服务,可以是静态广告,也可以是动画广告,并在实时 app 内容周围的指定区域提供。
先决条件
- 确保已将 LevelPlay SDK 正确集成到应用程序中。此处概述了集成。
- 确保使用 LevelPlay Initialization API 初始化 SDK。
- 在 LevelPlay 后台中找到 AdUnitID。
创建横幅广告对象并设置大小
横幅广告对象的创建应在接收 onInitSuccess 回调后完成。
// 创建广告配置 - 可选LevelPlayAdSize adSize = LevelPlayAdSize.BANNER;LevelPlayBannerAdView.Config adConfig = new LevelPlayBannerAdView.Config.Builder() .setAdSize(adSize) .setPlacementName("placementName") .build();// 创建横幅视图并设置广告单元 IDLevelPlayBannerAdView levelPlayBanner = new LevelPlayBannerAdView(context, "adUnitId", adConfig);
横幅大小
LevelPlayAdSize | 描述 | Dimensions in dp(Width X Height) |
|---|---|---|
| BANNER | 标准横幅 | 320 x 50 |
| 大型 | 大型横幅 | 728 x 90 |
| 中矩形 | 中等矩形 (MREC) | 300 x 250 |
| 自适应 | 自动渲染广告服务以调整移动端和平板电脑的大小和方向 | 设备宽度 X 建议高度 |
要创建广告大小,请遵循以下选项之一:
适应屏幕宽度的自适应广告大小(推荐)
此选项根据设备类型返回 BANNER 或 LEADERBOARD。支持自适应功能的网络(Google、Yandex)将根据其优化逻辑返回高度。
LevelPlayAdSize adSize = LevelPlayAdSize.createAdaptiveAdSize(context);
指定的横幅大小:
此选项允许您专门设置横幅大小:横幅、大型、中等矩形。
levelPlayBanner.setAdSize(LevelPlayAdSize.MEDIUM_RECTANGLE);
广告位
我们支持在横幅广告中放置仅用于举报。应在 loadAd 之前设置广告位,以影响所有重新加载的广告服务。
// 设置放置/位置名称levelPlayBanner.setPlacementName("placementName");
设置横幅监听器
在代码中实现 LevelPlayBannerAdViewListener 以获取广告投放信息。
- 建议在加载横幅广告之前设置监听器。
- 每个横幅广告都应有自己的监听器实现。
- 回调在主线程上运行。
- 当并非所有网络都支持回调时,它们会被标记为可选。
levelPlayBanner.setBannerListener(new LevelPlayBannerAdViewListener() {@Overridepublic void onAdLoaded(@NonNull LevelPlayAdInfo adInfo) { }// 广告已成功加载 }@Overridepublic void onAdLoadFailed(@NonNull LevelPlayAdError 报错) {// 广告加载失败}@Overridepublic void onAdDisplayed(@NonNull LevelPlayAdInfo adInfo) { }// 广告已显示并在屏幕上可见}@Overridepublic void onAdDisplayFailed(@NonNull LevelPlayAdInfo adInfo, @NonNull LevelPlayAdError 报错) {// 可选。广告无法在屏幕上显示 }@Overridepublic void onAdClicked(@NonNull LevelPlayAdInfo adInfo) { }// 广告被点击}@Overridepublic void onAdExpanded(@NonNull LevelPlayAdInfo adInfo) { }// 可选。广告以全屏打开 }@Overridepublic void onAdCollapsed(@NonNull LevelPlayAdInfo adInfo) { }// 可选。广告恢复为其原始大小 }@Overridepublic void onAdLeftApplication(@NonNull LevelPlayAdInfo adInfo) // 可选。用户按下广告并被导航出 app });
LevelPlay 广告信息
LevelPlayAdInfo 参数包含有关加载的广告的信息。
加载横幅广告
要加载横幅广告,请使用 loadAd。
// 加载横幅广告levelPlayBanner.loadAd();
暂停和恢复横幅刷新
如果在平台中定义了刷新值,则可以在代码中暂停横幅刷新。使用以下方法可停止横幅广告的自动刷新,或在暂停后重新启用。
- pauseAutoRefresh - 暂停横幅广告的自动刷新。
- resumeAutoRefresh - 暂停横幅广告后恢复自动刷新。
// 暂停新levelPlayBanner.pauseAutoRefresh();// 继续刷新levelPlayBanner.resumeAutoRefresh();
销毁横幅广告
要销毁横幅,请调用 destroy 方法。
已销毁的横幅无法再次显示。要显示更多广告服务,请创建一个新的 LevelPlayBannerAdView 对象。
levelPlayBanner.destroy()
横幅广告服务的完整实现示例
以下是使用自适应横幅大小创建和加载横幅广告的示例。
public void createAndLoadBanner() {// 创建广告配置 - 可选LevelPlayAdSize adSize = LevelPlayAdSize.BANNER;LevelPlayBannerAdView.Config adConfig = new LevelPlayBannerAdView.Config.Builder() .setAdSize(adSize) .setPlacementName("placementName") .build();// Create the banner view and set the ad unit idLevelPlayBannerAdView levelPlayBanner = new LevelPlayBannerAdView(context, "adUnitId", adConfig);// Add the banner view to the containerViewGroup adContainer = findViewById(android.R.id.adContainer);adContainer.addView(levelPlayBanner);levelPlayBanner.setBannerListener(new LevelPlayBannerAdViewListener() { @Override public void onAdLoaded(@NonNull LevelPlayAdInfo adInfo) { // Ad was loaded successfully } @Override public void onAdLoadFailed(@NonNull LevelPlayAdError error) { // Ad load failed } @Override public void onAdDisplayed(@NonNull LevelPlayAdInfo adInfo) { // Ad was displayed and visible on screen } @Override public void onAdDisplayFailed(@NonNull LevelPlayAdInfo adInfo, @NonNull LevelPlayAdError error) { // Ad failed to be displayed on screen } @Override public void onAdClicked(@NonNull LevelPlayAdInfo adInfo) { // Ad was clicked } @Override public void onAdExpanded(@NonNull LevelPlayAdInfo adInfo) { // Ad is opened on full screen } @Override public void onAdCollapsed(@NonNull LevelPlayAdInfo adInfo) { // Ad is restored to its original size } @Override public void onAdLeftApplication(@NonNull LevelPlayAdInfo adInfo) { // User pressed on the ad and was navigated out of the app }});// Load the banner adlevelPlayBanner.loadAd();// To get actual banner layout size (either custom/standard size or adaptive)int height = adSize.getHeight();int width = adSize.getWidth();}
LevelPlay Mediation 演示应用程序
Integration Demo 应用程序演示如何在 app 中集成横幅广告单元 API。
验证您与我们的集成测试套件的集成。
后续步骤
请遵循我们的集成指南来集成其他横幅广告网络或配置其他广告格式: