文档

​
​

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 rewarded ad unit API
    • 插页式视频
    • Banner 和 MREC
    • 原生广告服务
  • 聚合网络
  • 测试集成
  1. 实现游戏增长
  2. Unity LevelPlay
  3. LevelPlay SDK
  4. 适用于 Android 开发者的 LevelPlay SDK

迁移到 Android 的奖励广告单元 API

通过初始化 SDK、创建具有广告单元 ID 的奖励广告对象以及实现广告事件的监听器,迁移到 LevelPlay 奖励广告单元 API。
阅读时间8 分钟
最后更新于 2 天前

本指南介绍如何从 SDK 9.0.0 版本开始集成 LevelPlay API,使用广告单元 ID 作为瀑布流标识符来加载和显示奖励广告服务。
重要
使用本文中介绍的 API,而不是当前使用的集成方法(IronSource init、IronSource 加载奖励、奖励监听器)。您可以在 API 比较 部分中找到 API 替换。
高级设置和法规设置没有更改,在初始化 LevelPlay SDK 之前或之后支持这些设置和设置。

在 LevelPlay 平台中找到广告单元 ID

要加载和显示奖励广告服务,需要使用 LevelPlay 聚合平台中的广告单元 ID:
  1. 在 LevelPlay 帐户中,导航到 Setup > Ad Units。
  2. 复制奖励的广告单元 ID 并将其集成到代码中。

初始化 LevelPlay SDK

要初始化 LevelPlay SDK,请执行以下步骤:
  1. 实现初始化成功和失败的回调。
  2. 使用 appKey 和用户 ID(如果相关)调用 LevelPlay init API。
LevelPlayInitRequest initRequest = new LevelPlayInitRequest.Builder(appKey) .withUserId("UserID") .build();LevelPlayInitListener initListener = new LevelPlayInitListener() { } @Override public void onInitFailed(@NonNull LevelPlayInitError 报错) { @Override public void onInitSuccess(LevelPlayConfiguration configuration) {};LevelPlay.init(context, initRequest, initListener);
val initRequest = LevelPlayInitRequest.Builder("AppKey") .withUserId("UserId") .build()LevelPlay.init(context, initRequest, object :LevelPlayInitListener { 覆盖 fun onInitSuccess(configuration:LevelPlayConfiguration) {} 覆盖 fun onInitFailed(报错:LevelPlayInitError) {})

LevelPlay 初始化监听器

onInitSuccess:初始化成功完成时触发。收到此指示后,您可以创建和加载广告。
onInitFailed:未成功检索配置,无法加载广告服务。建议稍后尝试并初始化 LevelPlay SDK(当互联网连接可用或故障原因得到解决时)。

初始化

旧版

广告单元(新)

APIIronSource.initLevelPlay.init
回调onInitializationCompleteonInitSuccess
–onInitFailed

创建奖励广告对象

必须在收到 onInitSuccess 回调后执行奖励广告对象的创建。
该对象是可重用的实例,可以处理多个加载并在整个会话中显示。创建后,应使用 来加载和展示同一广告单元的广告服务。
对于更高级的实现,如有必要,您可以创建多个奖励广告对象。
// 创建奖励广告mRewardedAd = new LevelPlayRewardedAd("adUnitId");
// 创建奖励广告mRewardedAd = LevelPlayRewardedAd("adUnitId")

注册到奖励事件

为创建的奖励广告单元设置奖励监听器,以便了解广告投放情况。
  • 建议在加载奖励广告之前设置监听器。
  • 每个奖励广告都应有自己的监听器实现。
  • 回调在主线程上运行。
// 创建奖励广告mRewardedAd = new LevelPlayRewardedAd("adUnitId");// 设置监听器mRewardedAd.setListener(this);// LevelPlayRewardedAdListener 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) {}@Overridepublic void onAdRewarded(@NonNull LevelPlayReward reward, @NonNull LevelPlayAdInfo adInfo) {}
// 创建奖励广告mRewardedAd = LevelPlayRewardedAd("adUnitId") // 设置监听器mRewardedAd.setListener(this)// LevelPlayRewardedAdListener 方法覆盖 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) {}覆盖 fun onAdRewarded(奖励:LevelPlayReward、adInfo:LevelPlayAdInfo) {}

LevelPlay 奖励广告回调

onAdLoaded:成功加载广告时提供。
onAdLoadFailed:在广告加载失败时提供。包含广告单元信息。
onAdDisplayed:在显示广告时提供。这相当于展示。
onAdDisplayFailed:广告无法显示时提供。
onAdRewarded:在广告获得奖励时提供。其中包含广告单元信息和奖励信息。
onAdClicked(可选):在用户点击广告时提供。
onAdClosed:在广告关闭时提供。
onAdInfoChanged(可选):在更新广告信息时提供。加载另一个广告后可用,并且包含更高的 CPM/速率。

组件

旧版

广告单元(新)

监听器IronSourceRewardedVideoEventsLevelPlayRewardedAd
回调onAdReadyonAdLoaded
onAdLoadFailedonAdLoadFailed
onAdOpenedonAdDisplayed
onAdClosedonAdClosed
onAdShowFailedonAdDisplayFailed
onAdRewardedonAdRewarded
onAdClickedonAdClicked
onAdShowSucceededn/a(已弃用)
n/aonAdInfoChanged

加载奖励广告

收到 onInitSuccess 回调后,即可加载奖励广告。应使用 方法执行此操作:
// 加载或重新加载广告mRewardedAd.loadAd();
// 加载或重新加载广告mRewardedAd.loadAd()

显示奖励广告

您可以在收到 onAdLoaded 回调后使用 showAd API 展示奖励广告。 如果使用广告位,请将广告位名称作为 API 的一部分共享,如下所示。
// 显示广告而不放置/位置 mRewardedAd.showAd(this);// 显示带有放置/位置的广告 mRewardedAd.showAd(this, placementName);
// 显示广告而不放置/位置 mRewardedAd.showAd(this)// 显示带有放置/位置的广告 mRewardedAd.showAd(this, placementName)

检查 Ad is Ready

为了避免展示失败,并确保广告可以正确展示,建议在调用 showAd API 之前使用以下 API。
isAdReady – 如果广告已成功加载且广告单元未设置上限,则返回 true,否则返回 false。
isPlacementCapped – 有效放置/位置被限制时返回 true。如果放置/位置无效或未设置上限,此 API 将返回 false。
// 检查广告是否已准备就绪并且放置/位置未设置上限 if(mRewardedAd.isAdReady() && !LevelPlayRewardedAd.isPlacementCapped(placementName)) { mRewardedAd.showAd(this, placementName);}
// 检查广告是否已准备就绪并且放置/位置未设置上限 if (mRewardedAd.isAdReady() && !LevelPlayRewardedAd.isPlacementCapped(placementName)) { mRewardedAd.showAd(this, placementName)}
当广告成功展示给玩家时,您可以加载另一个广告,重复加载奖励广告步骤。一时间加载单个广告时,无需创建新的广告实体。

奖励用户

LevelPlay SDK 将在用户每次成功完成视频时触发 onAdRewarded。
onAdRewarded 和 onAdClosed 是异步的。确保设置监听器以提供奖励,即使 onAdRewarded 在 onAdClosed 之后被触发也是如此。
@Overridepublic void onAdRewarded(@NonNull LevelPlayReward reward, @NonNull LevelPlayAdInfo adInfo) { } // 实现向用户授予奖励的逻辑 字符串 name = reward.getName(); int amount = reward.getAmount();}
覆盖 fun onAdRewarded(奖励:LevelPlayReward、adInfo:LevelPlayAdInfo) { // 实现向用户授予奖励的逻辑 值名称:字符串 = reward.name val amount:Int = reward.amount}

多个广告单元奖励 API

组件

旧版

广告单元(新)

类IronSourceLevelPlayRewardedAd
APIloadRewardedVideoloadAd
showRewardedVideoshowAd
isRewardedVideoPlacementCappedisPlacementCapped
isRewardedVideoAvailableisAdReady
placement.getRewardNamereward.name
placement.getRewardAmountreward.amount

奖励广告的完整实现示例

public 类 RewardedAdActivity extends 活动实现 LevelPlayRewardedAdListener { 私有变量 LevelPlayRewardedAd mRewardedAd; void createRewardedAd() { mRewardedAd = new LevelPlayRewardedAd("adUnitId"); mRewardedAd.setListener(this); } void loadRewardedAd() { // 加载或重新加载广告 mRewardedAd.loadAd(); } void showRewardedAd() { if (mRewardedAd.isAdReady()) { mRewardedAd.showAd(this); } } void showRewardedAd(@NonNull 字符串 placementName) { // 检查广告是否已准备就绪并且放置/位置未设置上限 if (mRewardedAd.isAdReady() && !LevelPlayRewardedAd.isPlacementCapped(placementName)) { mRewardedAd.showAd(this, placementName); } } // LevelPlayRewardedAdListener 方法 @Override public void onAdLoaded(@NonNull LevelPlayAdInfo adInfo) {} @Override public void onAdLoadFailed(@NonNull LevelPlayAdError 报错) { @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 报错, @NonNull LevelPlayAdInfo adInfo) { @Override public void onAdInfoChanged(@NonNull LevelPlayAdInfo adInfo) { @Override public void onAdRewarded(@NonNull LevelPlayReward reward, @NonNull LevelPlayAdInfo adInfo) {}
类 RewardedAdActivity:Activity(), LevelPlayRewardedAdListener {私有变量 lateinit var mRewardedAd:LevelPlayRewardedAdfun createRewardedAd() { mRewardedAd = LevelPlayRewardedAd("adUnitId") mRewardedAd.setListener(this)}fun loadRewardedAd() { mRewardedAd.loadAd()}fun showRewardedAd() { if (mRewardedAd.isAdReady()) { mRewardedAd.showAd(this) }}fun showRewardedAd(placementName:字符串) { // 检查广告是否已准备就绪并且放置/位置未设置上限 if (mRewardedAd.isAdReady() && !LevelPlayRewardedAd.isPlacementCapped(placementName)) { mRewardedAd.showAd(this, placementName) }}// LevelPlayRewardedAdListener 方法覆盖 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) {}覆盖 fun onAdRewarded(奖励:LevelPlayReward、adInfo:LevelPlayAdInfo) {}}

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

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

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

  • 在本页上
    • 在 LevelPlay 平台中找到广告单元 ID

    • 初始化 LevelPlay SDK

      • LevelPlay 初始化监听器

    • 创建奖励广告对象

    • 注册到奖励事件

      • LevelPlay 奖励广告回调

    • 加载奖励广告

    • 显示奖励广告

      • 检查 Ad is Ready

    • 奖励用户

    • 多个广告单元奖励 API

    • 奖励广告的完整实现示例


报告此页面的问题