文档

​
​

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
  • 开始使用
  • 法规和设置
    • 法规高级设置
    • Android 高级设置
    • 展示级别收入集成
    • 集成 AdInfo 的 LevelPlay 监听器
  • 广告格式
  • 聚合网络
  • 测试集成
  1. 实现游戏增长
  2. Unity LevelPlay
  3. LevelPlay SDK
  4. 适用于 Android 开发者的 LevelPlay SDK

Android 展示级收入集成

集成展示量级别收入(ILR) SDK API 可捕获每个展示量的实时广告收入数据,从而实现详细的 Monetization 见解并与第三方数据分析服务平台无缝集成。
阅读时间5 分钟
最后更新于 2 天前

先决条件

确保已将 LevelPlay SDK 9.5.0+ 正确集成到应用程序中。请参阅 Android 集成核对表。

实现 LevelPlayImpressionDataListener

LevelPlay SDK 会触发回传以通知您显示的广告。LevelPlayImpressionDataListener 是一个可选监听器,可以实现该监听器来接收展示数据。此监听器将为您提供有关所有广告单位的信息,并且您可以使用展示量收入来识别不同的广告服务。
要将 LevelPlayImpressionDataListener 添加到应用程序中,请在初始化 LevelPlay SDK 之前声明监听器,以避免任何信息丢失。
public static void addImpressionDataListener(LevelPlayImpressionDataListener listener)
LevelPlay SDK 将通知您的监听器与展示数据相关的成功回传:
public static void addImpressionDataListener(ImpressionDataListener listener){ /** 成功显示广告并记录展示数据时调用 **/ }

设置印象监听器

实现
LevelPlayImpressionDataListener
并通过调用
setImpressionDataListener()
在每个广告对象上进行设置。在构建广告对象之后以及加载或显示广告对象之前立即附加广告对象,这样就不会错过展示。每个监听器仅接收其所挂的实例的展示。
Java
import com.unity3d.mediation.impression.LevelPlayImpressionData;import com.unity3d.mediation.impression.LevelPlayImpressionDataListener;// InterstitialLevelPlayInterstitialAd interstitialAd = new LevelPlayInterstitialAd("adUnitId");interstitialAd.setImpressionDataListener(new LevelPlayImpressionDataListener() { @Override public void onImpressionSuccess(LevelPlayImpressionData impressionData) { Log.d(TAG, "Interstitial onImpressionSuccess: " + impressionData); }});// RewardedLevelPlayRewardedAd rewardedAd = new LevelPlayRewardedAd("adUnitId");rewardedAd.setImpressionDataListener(new LevelPlayImpressionDataListener() { @Override public void onImpressionSuccess(LevelPlayImpressionData impressionData) { Log.d(TAG, "Rewarded onImpressionSuccess: " + impressionData); }});// BannerLevelPlayBannerAdView bannerAdView = new LevelPlayBannerAdView(this, "adUnitId");bannerAdView.setImpressionDataListener(new LevelPlayImpressionDataListener() { @Override public void onImpressionSuccess(LevelPlayImpressionData impressionData) { Log.d(TAG, "Banner onImpressionSuccess: " + impressionData); }});
科特林
import com.unity3d.mediation.impression.LevelPlayImpressionDataimport com.unity3d.mediation.impression.LevelPlayImpressionDataListener// Interstitialval interstitialAd = LevelPlayInterstitialAd("adUnitId")interstitialAd.setImpressionDataListener(object :LevelPlayImpressionDataListener { override fun onImpressionSuccess(impressionData:LevelPlayImpressionData) { Log.d(TAG, "Interstitial onImpressionSuccess: $impressionData") }})// Rewardedval rewardedAd = LevelPlayRewardedAd("adUnitId")rewardAd.setImpressionDataListener(object :LevelPlayImpressionDataListener { override fun onImpressionSuccess(impressionData:LevelPlayImpressionData) { Log.d(TAG, "Rewarded onImpressionSuccess: $impressionData") }})// Bannerval bannerAdView = LevelPlayBannerAdView(this, "adUnitId")bannerAdView.setImpressionDataListener(object :LevelPlayImpressionDataListener { override fun onImpressionSuccess(impressionData:LevelPlayImpressionData) { Log.d(TAG, "Banner onImpressionSuccess: $impressionData") }})

删除展示数据监听器

要停止接收广告对象的展示数据,请将
null
通道给
setImpressionDataListener()
。
Java
interstitialAd.setImpressionDataListener(null);rewardedAd.setImpressionDataListener(null);bannerAdView.setImpressionDataListener(null);
科特林
interstitialAd.setImpressionDataListener(null)rewardedAd.setImpressionDataListener(null)bannerAdView.setImpressionDataListener(null)
注意
从 LevelPlay SDK 7.1.0 版本开始,setImpressionDataListener 已弃用并替换为 addImpressionDataListener。

集成 ILR 数据

实现 LevelPlayImpressionDataListener 后,您可以将展示数据发送到您自己的专有 BI 工具和 DWH,或者将其与第三方工具集成。
注意
返回的数据可能包括 null 值。在分配数据之前添加保护以避免潜在的崩溃。
您可以单独引用每个字段,也可以使用 allData 方法获取所有信息:
public void onImpressionSuccess (LevelPlayImpressionData impressionData){ Double revenue = impressionData.getRevenue(); String adNetwork = impressionData.getAdNetwork(); JSONObject allData = impressionData.getAllData(); }
有关可用 ILR 数据的完整列表,包括字段描述和类型,请参阅 Impression Level Revenue SDK API。
以下示例展示了如何将展示级别收入 SDK API 数据与 Google Firebase 数据分析服务集成。您可以按原样使用,或进行任何必要的更改,以便与第三方报告工具或您自己的专有优化工具和数据库集成。
注意
确保内部参数不为 null。
/** 成功显示广告并记录展示数据时调用 **/ @Overridepublic void onImpressionSuccess(LevelPlayImpressionData impressionData) { // The onImpressionSuccess will be reported when the rewarded video and interstitial ad is opened. // For banners, the impression is reported on load success.Log.d(TAG, "onImpressionSuccess" + impressionData); if (impressionData != null) { Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.AD_PLATFORM, "LevelPlay"); bundle.putString(FirebaseAnalytics.Param.AD_SOURCE, impressionData.getAdNetwork()); bundle.putString(FirebaseAnalytics.Param.AD_FORMAT, impressionData.getAdFormat()); bundle.putString(FirebaseAnalytics.Param.AD_UNIT_NAME, impressionData.getInstanceName()); bundle.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); bundle.putDouble(FirebaseAnalytics.Param.VALUE, java.util.Objects.quirNonNullElse(impressionData.getRevenue(), 0.0)); // 为 null 值添加保护 mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.AD_IMPRESSION, bundle); } }

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

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

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

  • 在本页上
    • 先决条件

    • 实现 LevelPlayImpressionDataListener

      • 设置印象监听器

      • 删除展示数据监听器

    • 集成 ILR 数据


报告此页面的问题