文档

​
​

Development

User Acquisition

Monetization

工业

LevelPlay SDK - Android

Unity SDK

Android SDK

iOS SDK

Adobe AIR SDK

Flutter SDK

React Native SDK

LevelPlay SDK - Android

Unity LevelPlay
​
​
Android SDK
  • 开始使用
  • 法规和设置
  • 广告格式
    • 奖励广告
    • 插页式视频
      • Migrate to interstitial ad unit API
    • Banner 和 MREC
    • 原生广告服务
  • 聚合网络
  • 测试集成
  1. 实现游戏增长
  2. Unity LevelPlay
  3. LevelPlay SDK
  4. 适用于 Android 开发者的 LevelPlay SDK

迁移到适用于 Android 的插页式广告单元 API

通过用app用密钥初始化 SDK,创建具有指定的广告单元 ID 的可重用插页式广告对象,并实现监听器器来处理广告事件(例如加载、显示和关闭),迁移到 LevelPlay 插页式广告单元 API。
阅读时间7 分钟
最后更新于 2 天前

本指南介绍如何从当前实现过过渡 LevelPlay 插页式 API(使用广告单元 ID),以加载和显示插页式广告服务。

先决条件

  • 支持的最小 SDK 为 8.6.0。您可以在此处下载最新的 SDK。
  • 确保使用 LevelPlay Initialization API 初始化 SDK。
  • 在 LevelPlay 后台中找到 AdUnitID。

创建插页式广告对象

必须在收到 onInitSuccess 回调后执行插页式广告对象的创建。
该对象是可重用的实例,可以处理多个加载并在整个会话中显示。创建后,应将其用于加载和展示同一广告单元的广告服务。
对于更高级的实现,如果需要,可以创建多个插页式广告对象。
// 创建插页式广告mInterstitialAd = new LevelPlayInterstitialAd("adUnitId");
// 创建插页式广告mInterstitialAd = LevelPlayInterstitialAd("adUnitId")

注册到 Interstitial 事件

在代码中实现 LevelPlayInterstitialAdListener 而不是 LevelPlayInterstitialListener,从而了解广告投放情况。 
  • 建议在加载插页式广告之前设置监听器。
  • 每个插页式广告都应有自己的监听器实现。
  • 回调在主线程上运行。
// 创建插页式广告mInterstitialAd = new LevelPlayInterstitialAd("adUnitId");// 设置监听器mInterstitialAd.setListener(this);// LevelPlayInterstitialAdListener methods@Overridepublic void onAdLoaded(@NonNull LevelPlayAdInfo adInfo) {}@Overridepublic void onAdLoadFailed(@NonNull LevelPlayAdError error) {}@Overridepublic void onAdDisplayed(@NonNull LevelPlayAdInfo adInfo) {}@Overridepublic void onAdDisplayFailed(@NonNull LevelPlayAdError error, @NonNull LevelPlayAdInfo adInfo) {}@Overridepublic void onAdClosed(@NonNull LevelPlayAdInfo adInfo) {}@Overridepublic void onAdClicked(@NonNull LevelPlayAdInfo adInfo) {}@Overridepublic void onAdInfoChanged(@NonNull LevelPlayAdInfo adInfo) {}
// 创建插页式广告mInterstitialAd = LevelPlayInterstitialAd("adUnitId")// 设置监听器mInterstitialAd.setListener(this)// LevelPlayInterstitialAdListener methods覆盖 fun onAdLoaded(adInfo:LevelPlayAdInfo) {}覆盖 fun onAdLoadFailed(报错:LevelPlayAdError) {}覆盖 fun onAdInfoChanged(adInfo:LevelPlayAdInfo) {}覆盖 fun onAdDisplayed(adInfo:LevelPlayAdInfo) {}覆盖 fun onAdDisplayFailed(报错:LevelPlayAdError、adInfo:LevelPlayAdInfo) {}覆盖 fun onAdClicked(adInfo:LevelPlayAdInfo) {}覆盖 fun onAdClosed(adInfo:LevelPlayAdInfo) {}

旧版

广告单元(新)

监听器LevelPlayInterstitialListenerLevelPlayInterstitialAdListener
回调onAdReadyonAdLoaded 
onAdLoadFailedonAdLoadFailed
onAdOpenedonAdDisplayed
onAdClosedonAdClosed
onAdShowFailedonAdDisplayFailed
onAdClickedonAdClicked
onAdShowSucceeded-(已弃用)
onAdInfoChanged

LevelPlay 广告信息

注意
间歇监听器回调返回的 AdInfo 类已被 LevelPlayAdInfo 替换。

加载 Interstitial Ad

要加载插页式广告,请使用 loadAd 而不是 loadInterstitial。
// 加载或重新加载广告mInterstitialAd.loadAd();
// 加载或重新加载广告mInterstitialAd.loadAd()

显示插页式广告

使用 LevelPlayInterstitialAdListener API 在收到 onAdLoaded 回调后显示插页式广告。
  • 共享 Activity 是必需的。
  • 如果使用放置,请在 showAd API 中通道放置/位置名称,如下面的 Placements 部分所示。
  • 广告已成功向用户显示后,可以通过重复加载步骤加载另一个广告。
// 显示广告而不放置/位置mInterstitialAd.showAd(this);// 显示带有放置/位置的广告mInterstitialAd.showAd(this, placementName);
// 显示广告而不放置/位置mInterstitialAd.showAd(this)// 显示带有放置/位置的广告mInterstitialAd.showAd(this, placementName)

检查 Ad is Ready

为了避免展示失败,并确保广告可以正确展示,建议在调用 showAd API 之前使用以下 API。
isAdReady – 如果广告已成功加载且广告单元未设置上限,则返回 true,否则返回 false。
isPlacementCapped – 有效放置/位置被限制时返回 true。如果放置/位置无效或未设置上限,此 API 将返回 false。
// 检查广告是否已准备就绪并且放置/位置未设置上限if (mInterstitialAd.isAdReady() && !LevelPlayInterstitialAd.isPlacementCapped(placementName)) { mInterstitialAd.showAd(this, placementName);}
// 检查广告是否已准备就绪并且放置/位置未设置上限if (mInterstitialAd.isAdReady() && !LevelPlayInterstitialAd.isPlacementCapped(placementName)) { mInterstitialAd.showAd(this, placementName)}

广告位

我们支持在 LevelPlay 控制面板上设置插页的广告位节奏和上限。
如果为插页式广告服务设置了位置,请调用 showAd 方法为指定的放置/位置提供广告。
// 检查广告是否已准备就绪并且放置/位置未设置上限if (mInterstitialAd.isAdReady() && !LevelPlayInterstitialAd.isPlacementCapped(placementName)) { // 显示带有放置/位置的广告 mInterstitialAd.showAd(this, placementName);}
// 检查广告是否已准备就绪并且放置/位置未设置上限if (mInterstitialAd.isAdReady() && !LevelPlayInterstitialAd.isPlacementCapped(placementName)) { mInterstitialAd.showAd(this, placementName)}

多个广告单元插页 API

旧版

广告单元(新)

APIloadInterstitialloadAd
showInterstitialshowAd
isInterstitialPlacementCappedLevelPlayInterstitialAd.isPlacementCapped
isInterstitialReadyisAdReady

插页式广告服务的完整实现示例

public 类 InterstitialAdActivity extends 活动实现 LevelPlayInterstitialAdListener { 私有变量 LevelPlayInterstitialAd mInterstitialAd; void createInterstitialAd() { mInterstitialAd = new LevelPlayInterstitialAd("adUnitId"); mInterstitialAd.setListener(this); } void loadInterstitialAd() { mInterstitialAd.loadAd(); } void showInterstitialAd() { if (mInterstitialAd.isAdReady()) { mInterstitialAd.showAd(this); } } void showInterstitialAd(@NonNull String placementName) { if (mInterstitialAd.isAdReady() && !LevelPlayInterstitialAd.isPlacementCapped(placementName)) { mInterstitialAd.showAd(this, placementName); } } // LevelPlayInterstitialAdListener methods @Override public void onAdLoaded(@NonNull LevelPlayAdInfo adInfo) {} @Override public void onAdLoadFailed(@NonNull LevelPlayAdError error) {} @Override public void onAdDisplayed(@NonNull LevelPlayAdInfo adInfo) {} @Override public void onAdClosed(@NonNull LevelPlayAdInfo adInfo) {} @Override public void onAdClicked(@NonNull LevelPlayAdInfo adInfo) {} @Override public void onAdDisplayFailed(@NonNull LevelPlayAdError error, @NonNull LevelPlayAdInfo adInfo) {} @Override public void onAdInfoChanged(@NonNull LevelPlayAdInfo adInfo) {}}
类 InterstitialAdActivity:Activity(), LevelPlayInterstitialAdListener { } 私有变量 lateinit var mInterstitialAd:LevelPlayInterstitialAd fun createInterstitialAd() { mInterstitialAd = LevelPlayInterstitialAd("adUnitId") mInterstitialAd.setListener(this) } fun loadInterstitialAd() { mInterstitialAd.loadAd() } fun showInterstitialAd() { if (mInterstitialAd.isAdReady()) { mInterstitialAd.showAd(this) } } fun showInterstitialAd(placementName:字符串) { if (mInterstitialAd.isAdReady() && !LevelPlayInterstitialAd.isPlacementCapped(placementName)) { mInterstitialAd.showAd(this, placementName) } } // LevelPlayInterstitialAdListener methods 覆盖 fun onAdLoaded(adInfo:LevelPlayAdInfo) {} 覆盖 fun onAdLoadFailed(报错:LevelPlayAdError) {} 覆盖 fun onAdInfoChanged(adInfo:LevelPlayAdInfo) {} 覆盖 fun onAdDisplayed(adInfo:LevelPlayAdInfo) {} 覆盖 fun onAdDisplayFailed(报错:LevelPlayAdError、adInfo:LevelPlayAdInfo) {} 覆盖 fun onAdClicked(adInfo:LevelPlayAdInfo) {} 覆盖 fun onAdClosed(adInfo:LevelPlayAdInfo) {}}

完成!

现在,您已全部设置为使用我们新的多个广告单元 API 在应用程序中提供插页式广告服务。

Copyright © 2026 Unity Technologies
法律信息隐私政策CookiesDocumentation Terms of Use请勿出售或分享我的个人信息您的隐私选择(Cookie 设置)

“Unity”、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属公司在美国和其他地方的商标或注册商标(此处查看更多信息)。其他名称或品牌是其各自所有者的商标。

为方便起见,一些页面是机器翻译的,可能包含不准确的内容。如有信息不一致的情况,以英文版本为准。

  • 在本页上
    • 先决条件

    • 创建插页式广告对象

    • 注册到 Interstitial 事件

      • LevelPlay 广告信息

    • 加载 Interstitial Ad

    • 显示插页式广告

      • 检查 Ad is Ready

      • 广告位

    • 多个广告单元插页 API

    • 插页式广告服务的完整实现示例

    • 完成!


报告此页面的问题