文档

​
​

Development

User Acquisition

Monetization

工业

LevelPlay SDK - Unity

Unity SDK

Android SDK

iOS SDK

Adobe AIR SDK

Flutter SDK

React Native SDK

LevelPlay SDK - Unity

Unity LevelPlay
​
​
Unity SDK
  • 开始使用
  • 法规和设置
    • 法规高级设置
    • Unity 的高级设置
    • iOS 隐私设置和配置
    • 展示级别收入集成
    • 集成 AdInfo 的 LevelPlay 监听器
  • 广告格式
  • 聚合网络
  • 测试集成
  1. 实现游戏增长
  2. Unity LevelPlay
  3. LevelPlay SDK
  4. 适用于 Unity 开发者的 LevelPlay SDK

Unity 的印象级别收入集成

使用展示级别收入(ILR)解决方案来轨道每个展示量的广告收入数据,与第三方数据分析服务平台集成。
阅读时间4 分钟
最后更新于 2 天前

先决条件

确保已将 LevelPlay SDK 9.5.0+ 正确集成到应用程序中。请参阅 Unity 软件包集成。
有关展示级别收入 (ILR) SDK 功能和先决条件的更多信息,请参阅展示级别收入服务器端 API。

实现印象事件

LevelPlay SDK 会触发回传以通知您显示的广告。
OnAdImpressionDataReady
事件是一个可选事件,您可以在每个广告对象上订阅以接收展示数据。此监听器将为您提供有关所有广告单位的信息,并且您可以使用展示量收入来识别不同的广告服务。
要将 ImpressionData 监听器添加到应用程序中,请确保在初始化 LevelPlay SDK 之前声明监听器,以避免任何信息丢失。
LevelPlay SDK 将在背景线程上触发器一个回调,以通知您的监听器器成功的展示数据回传:
// This event is triggered on a background thread, not the Unity main thread.LevelPlay.OnImpressionDataReady += ImpressionDataReadyEvent;private void ImpressionDataReadyEvent(LevelPlayImpressionData impressionData){}

设置展示事件

订阅每个广告对象的
OnAdImpressionDataReady
。在构建广告对象之后以及加载或展示广告对象之前立即订阅,这样就不会错过展示。每个事件仅为其所属的广告实例提供展示量。
注意
OnAdImpressionDataReady
在后台线程上调用,而不是在 Unity 主线程上调用。
LevelPlayInterstitialAd interstitialAd = new LevelPlayInterstitialAd("adUnitId");interstitialAd.OnAdImpressionDataReady += OnInterstitialImpressionDataReady;void OnInterstitialImpressionDataReady(LevelPlayImpressionData impressionData){ Debug.Log($"Interstitial OnAdImpressionDataReady: {impressionData}");}LevelPlayRewardedAd rewardedAd = new LevelPlayRewardedAd("adUnitId");rewardAd.OnAdImpressionDataReady += OnRewardedImpressionDataReady;void OnRewardedImpressionDataReady(LevelPlayImpressionData impressionData){ Debug.Log($"Rewarded OnAdImpressionDataReady: {impressionData}");}LevelPlayBannerAd bannerAd = new LevelPlayBannerAd("adUnitId");bannerAd.OnAdImpressionDataReady += OnBannerImpressionDataReady;void OnBannerImpressionDataReady(LevelPlayImpressionData impressionData){ Debug.Log($"Banner OnAdImpressionDataReady: {impressionData}");}

删除印象事件

要停止接收广告对象的展示数据,请使用
-=
取消订阅。
interstitialAd.OnAdImpressionDataReady -= OnInterstitialImpressionDataReady;rewardedAd.OnAdImpressionDataReady -= OnRewardedImpressionDataReady;bannerAd.OnAdImpressionDataReady -= OnBannerImpressionDataReady;

集成 ILR 数据

订阅展示事件后,您可以将展示数据发送到您自己的专有 BI 工具和 DWH,或者将其与第三方工具集成。
重要
返回的数据可能包括 null 值。为避免潜在的崩溃,请确保在分配数据之前添加保护。
您可以单独引用每个字段,也可以使用 allData 方法获取所有信息:
private void OnInterstitialImpressionDataReady(LevelPlayImpressionData impressionData){ string allData = impressionData.AllData; string adNetwork = impressionData.AdNetwork; double? revenue = impressionData.Revenue;}
有关可用 ILR 数据的完整列表,包括字段描述和类型,请参阅展示级收入服务器端 API。
以下示例详细介绍了如何将展示级别收入 SDK API 数据与 Google Firebase 数据分析服务集成。您可以按原样使用,或进行任何必要的更改,以便与第三方报告工具或您自己的专有优化工具和数据库集成。
重要
确保内部参数不为 null。
private void OnInterstitialImpressionDataReady(LevelPlayImpressionData impressionData) { Debug.Log("unity-script:ImpressionDataReadyEvent impressionData = " + impressionData); if (impressionData != null) { Firebase.Analytics.Parameter[] AdParameters = { new Firebase.Analytics.Parameter("ad_platform", "LevelPlay"), new Firebase.Analytics.Parameter("ad_source", impressionData.AdNetwork), new Firebase.Analytics.Parameter("ad_format", impressionData.AdFormat), new Firebase.Analytics.Parameter("ad_unit_name", impressionData.InstanceName), new Firebase.Analytics.Parameter("currency", "USD"), new Firebase.Analytics.Parameter("value", impressionData.Revenue ??0) // 为 null 值添加保护 }; Firebase.Analytics.FirebaseAnalytics.LogEvent("custom_ad_impression", AdParameters); }}

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

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

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

  • 在本页上
    • 先决条件

    • 实现印象事件

      • 设置展示事件

    • 删除印象事件

    • 集成 ILR 数据


报告此页面的问题