文档

迁移到 Unity 的插页式广告单元 API

通过初始化 SDK、定义广告格式以及使用广告单元 ID 加载和显示插页式广告服务,过过渡 LevelPlay 插页式广告单元 API。
阅读时间5 分钟最后更新于 1 个月前

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

先决条件

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

创建插页式广告对象

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

注册到 Interstitial 事件

在代码中实现 LevelPlayInterstitialAdListener 而不是 LevelPlayInterstitialListener,从而了解广告投放情况。 
  • 建议在加载插页式广告之前设置监听器。
  • 每个插页式广告都应有自己的监听器实现。
  • 回调在主线程上运行。
// 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) {}

旧版

广告单元(新)

监听器IronSourceInterstitialEventsLevelPlayInterstitialAdListener
回调OnAdReadyOnAdLoaded 
OnAdLoadFailedOnAdLoadFailed
OnAdOpenedOnAdDisplayed
OnAdClosedOnAdClosed
OnAdShowFailedOnAdDisplayFailed
OnAdClickedOnAdClicked
OnAdShowSucceeded-(已弃用)
-OnAdInfoChanged

LevelPlay 广告信息

间歇监听器回调返回的 AdInfo 类已被 LevelPlayAdInfo 替换。在此处了解更多信息。

加载 Interstitial Ad

要加载插页式广告,请使用 LoadAd 而不是 LoadInterstitial。
// 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); }

多个广告单元插页 API

旧版

广告单元(新)

类IronSourceLevelPlayInterstitialAd
APILoadInterstitialLoadAd
ShowInterstitialShowAd
IsInterstitialPlacementCappedIsPlacementCapped
IsInterstitialReadyIsAdReady

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

public class InterstitialAdSample { 私有变量 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(); } } void DestroyInterstitialAd() { // Destroy InterstitialAd interstitialAd.DestroyAd(); } // Implement InterstitialAd events void InterstitialOnAdLoadedEvent(LevelPlayAdInfo adInfo) { } void InterstitialOnAdLoadFailedEvent(LevelPlayAdError error) { } 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。