间隙集成
通过初始化 SDK、在初始化后创建插页式广告对象以及实现监听器来处理广告事件,在 Unity 中集成插页式广告服务。
阅读时间6 分钟最后更新于 2 天前
Unity LevelPlay Interstitial 是一个全屏广告单元,通常在 app 生命周期中的自然过渡点投放。
先决条件
- 确保已将 LevelPlay SDK 正确集成到应用程序中。此处概述了集成。
- 确保使用 LevelPlay Initialization API 初始化 SDK。
- 在 LevelPlay 后台中找到 AdUnitID。
创建插页式广告对象
必须在收到 OnInitSuccess 回调后执行插页式广告对象的创建。
该对象是可重用的实例,可以处理多个加载并在整个会话中显示。创建后,应将其用于加载和展示同一广告单元的广告服务。
对于更高级的实现,如果需要,可以创建多个插页式广告对象。
您可以通过调用以下函数来创建对象:
// Create Interstitial Ad objectLevelPlayInterstitialAd interstitialAd = new LevelPlayInterstitialAd(interstitialAdUnitId);
使用价格地面创建
// Create Interstitial Ad object with Price Floor in config.var configBuilder = new LevelPlayInterstitialAd.Config.Builder();configBuilder.SetBidFloor(1.0); // 最低出价(美元)var isConfig = configBuilder.Build();LevelPlayInterstitialAd InterstitialAd = new LevelPlayInterstitialAd(InterstitialAdUnitId, isConfig);
注册到 Interstitial 事件
在代码中实现 LevelPlayInterstitialAdListener 以获取广告投放信息。
- 建议在加载插页式广告之前设置监听器。
- 每个插页式广告都应有自己的监听器实现。
- 回调在主线程上运行。
// Register to interstitial eventsinterstitialAd.OnAdLoaded += InterstitialOnAdLoadedEvent;interstitialAd.OnAdLoadFailed += InterstitialOnAdLoadFailedEvent;interstitialAd.OnAdDisplayed += InterstitialOnAdDisplayedEvent;interstitialAd.OnAdDisplayFailed += InterstitialOnAdDisplayFailedEvent;interstitialAd.OnAdClicked += InterstitialOnAdClickedEvent;interstitialAd.OnAdClosed += InterstitialOnAdClosedEvent;interstitialAd.OnAdInfoChanged += InterstitialOnAdInfoChangedEvent;// Implement the eventsvoid InterstitialOnAdLoadedEvent(LevelPlayAdInfo adInfo){}void InterstitialOnAdLoadFailedEvent(LevelPlayAdError error){}void InterstitialOnAdDisplayedEvent(LevelPlayAdInfo adInfo){}void InterstitialOnAdDisplayFailedEvent(LevelPlayAdInfo adInfo, LevelPlayAdError error){}void InterstitialOnAdClickedEvent(LevelPlayAdInfo adInfo){}void InterstitialOnAdClosedEvent(LevelPlayAdInfo adInfo){}void InterstitialOnAdInfoChangedEvent(LevelPlayAdInfo adInfo){}
LevelPlay 广告信息
LevelPlayAdInfo 参数包含有关加载的广告的信息。
在此处了解有关其实现和可用字段的更多信息。
加载 Interstitial Ad
要加载插页式广告,请使用 LoadAd。
// Load interstitial adinterstitialAd.LoadAd();
显示插页式广告
使用 LevelPlayInterstitialAdListener API 在收到 OnAdLoaded 回调后显示插页式广告。
- 如果使用放置,请在 ShowAd API 中通道放置/位置名称,如下文 Placements 部分所示。
- 广告成功展示给用户后,可以通过重复加载步骤加载另一个广告。
// Show ad without placementinterstitialAd.ShowAd();// Show ad with placementinterstitialAd.ShowAd(placementName: "placementName");
检查 Ad is Ready
为了避免展示失败,并确保广告可以正确展示,建议在调用 ShowAd API 之前使用以下 API。
IsAdReady – 如果广告已成功加载并且广告单元未设置上限,则返回 true,否则返回 false。
IsPlacementCapped – 有效放置/位置被限制时返回 true。如果放置/位置无效或未设置上限,此 API 将返回 false。
// Check that ad is ready and that the placement is not cappedif (interstitialAd.IsAdReady() && !LevelPlayInterstitialAd.IsPlacementCapped(placementName)){ interstitialAd.ShowAd(placementName);}
广告位
我们支持在 LevelPlay 控制面板上设置插页的广告位节奏和上限。
如果为插页式广告服务设置了位置,请调用 ShowAd 方法为指定的放置/位置提供广告。
// Check that ad is ready and that the placement is not cappedif (interstitialAd.IsAdReady() && !LevelPlayInterstitialAd.IsPlacementCapped(placementName)){ interstitialAd.ShowAd(placementName);}
插页式广告服务的完整实现示例
public class InterstitialAdSample { private LevelPlayInterstitialAd interstitialAd;; void CreateInterstitialAd() { //Create InterstitialAd instance interstitialAd= new LevelPlayInterstitialAd("interstitialAdUnitId"); //Subscribe InterstitialAd events interstitialAd.OnAdLoaded += InterstitialOnAdLoadedEvent; interstitialAd.OnAdLoadFailed += InterstitialOnAdLoadFailedEvent; interstitialAd.OnAdDisplayed += InterstitialOnAdDisplayedEvent; interstitialAd.OnAdDisplayFailed += InterstitialOnAdDisplayFailedEvent; interstitialAd.OnAdClicked += InterstitialOnAdClickedEvent; interstitialAd.OnAdClosed += InterstitialOnAdClosedEvent; interstitialAd.OnAdInfoChanged += InterstitialOnAdInfoChangedEvent; } void LoadInterstitialAd() { //Load or reload InterstitialAd interstitialAd.LoadAd(); } void ShowInterstitialAd() { //Show InterstitialAd, check if the ad is ready before showing if (interstitialAd.IsAdReady()) { interstitialAd.ShowAd(); } } //Implement InterstitialAd events void InterstitialOnAdLoadedEvent(LevelPlayAdInfo adInfo) { } void InterstitialOnAdLoadFailedEvent(LevelPlayAdError ironSourceError) { } void InterstitialOnAdClickedEvent(LevelPlayAdInfo adInfo) { } void InterstitialOnAdDisplayedEvent(LevelPlayAdInfo adInfo) { } void InterstitialOnAdDisplayFailedEvent(LevelPlayAdInfo adInfo, LevelPlayAdError error) { } void InterstitialOnAdClosedEvent(LevelPlayAdInfo adInfo) { } void InterstitialOnAdInfoChangedEvent(LevelPlayAdInfo adInfo) { }}
LevelPlay Mediation 演示应用程序
Integration Demo 应用程序演示了如何在 app 中集成插页式广告单元 API。
验证您与我们的集成测试套件的集成。
可以在编辑器中测试您的集成。要了解如何在 Unity 编辑器中预览模拟广告服务,请参阅预览模拟广告服务指南。
后续步骤
请遵循我们的集成指南来集成其他插页式广告网络或配置其他广告格式: