迁移到 Unity 横幅广告单元 API
通过初始化 SDK、定义广告格式以及使用广告单元 ID 加载和显示横幅广告服务,过过渡 LevelPlay 横幅广告单位 API。
阅读时间7 分钟最后更新于 2 天前
本指南介绍如何从当前实现过过渡 LevelPlay Banner API(使用广告单元 ID),以加载和显示横幅广告服务。
先决条件
- 支持的最小 SDK 为 8.6.0。您可以在此处下载最新的 SDK。
- 确保使用 LevelPlay Initialization API 初始化 SDK。
- 在 LevelPlay 后台中找到 AdUnitID。在此处了解更多信息。
创建横幅广告对象****并设置大小
横幅广告对象的创建应在接收 OnInitSuccess 回调后完成。
bannerAd = new LevelPlayBannerAd(bannerAdUnitId);
// Create the banner object and set the ad unit idbannerAd = new LevelPlayBannerAd(bannerAdUnitId);
横幅大小
旧版 | Ad Unit(广告单元)(新) | dp 中的尺寸 |
|---|---|---|
| ISBannerSize | LevelPlayAdSize | (Width X Height) |
| BANNER | BANNER | 320 x 50 |
| 大型 | 大型 | 320 x 90 |
| 矩形 | 中矩形 | 300 x 250 |
| SMART | 替换为自适应广告大小(见下文) | 自动渲染广告服务以调整移动端和平板电脑的大小和方向 |
要创建广告大小,请遵循以下选项之一:
适应屏幕宽度的自适应广告大小(推荐):
此选项根据设备类型返回 BANNER 或 LEADERBOARD。支持自适应功能的网络(Google、Yandex)将根据其优化逻辑返回高度。
LevelPlayAdSize adSize = LevelPlayAdSize.CreateAdaptiveAdSize();
指定的横幅大小:
此选项允许您专门设置横幅大小:横幅、大型、中等矩形。
LevelPlayAdSize adSize = LevelPlayAdSize.BANNER;
广告位
我们支持在横幅广告中放置仅用于举报。应在 LoadAd 之前设置它们以影响所有重新加载的广告服务。
// Set the placement nameLevelPlayBannerAd bannerAd = new LevelPlayBannerAd("bannerAdUnitId", LevelPlayAdSize.BANNER, placementName:"placementName");
实现横幅事件
监听代码中的 LevelPlayBannerAd 事件。SDK 将通知下面列出的所有可能事件。
- 建议在加载横幅广告之前设置监听器。
- 每个横幅广告都应有自己的监听器实现。
- 回调在主线程上运行。
// Register to the eventsbannerAd.OnAdLoaded += BannerOnAdLoadedEvent;bannerAd.OnAdLoadFailed += BannerOnAdLoadFailedEvent;bannerAd.OnAdDisplayed += BannerOnAdDisplayedEvent;bannerAd.OnAdDisplayFailed += BannerOnAdDisplayFailedEvent;bannerAd.OnAdClicked += BannerOnAdClickedEvent;bannerAd.OnAdCollapsed += BannerOnAdCollapsedEvent;bannerAd.OnAdLeftApplication += BannerOnAdLeftApplicationEvent;bannerAd.OnAdExpanded += BannerOnAdExpandedEvent;// Implement the eventsvoid BannerOnAdLoadedEvent(LevelPlayAdInfo adInfo) {}void BannerOnAdLoadFailedEvent(LevelPlayAdError error) {}void BannerOnAdClickedEvent(LevelPlayAdInfo adInfo) {}void BannerOnAdDisplayedEvent(LevelPlayAdInfo adInfo) {}void BannerOnAdDisplayFailedEvent(LevelPlayAdInfo adInfo, LevelPlayAdError error) {}void BannerOnAdCollapsedEvent(LevelPlayAdInfo adInfo) {}void BannerOnAdLeftApplicationEvent(LevelPlayAdInfo adInfo) {}void BannerOnAdExpandedEvent(LevelPlayAdInfo adInfo) {}
旧版 | 广告单元(新) | |
|---|---|---|
| 监听器 | LevelPlayBannerListener | LevelPlayBannerAd |
| 回调 | onAdLoaded | onAdLoaded |
| onAdLoadFailed | onAdLoadFailed | |
| onAdClicked | onAdClicked | |
| onAdScreenPresented | onAdExpanded | |
| onAdScreenDismissed | onAdCollapsed | |
| onAdLeftApplication | onAdLeftApplication | |
| onAdDisplayed | ||
| onAdDisplayFailed |
LevelPlay 广告信息
加载横幅广告
要加载横幅广告,请使用 LoadAd 而不是 IronSource.loadBanner。
bannerAd.LoadAd();
暂停和恢复横幅刷新
如果在平台中定义了刷新值,则可以在代码中暂停横幅刷新。使用以下方法可停止横幅广告的自动刷新,或在暂停后重新启用。
- pauseAutoRefresh - 暂停横幅广告的自动刷新。
- resumeAutoRefresh - 暂停横幅广告后恢复自动刷新。
// Pause refreshbannerAd.PauseAutoRefresh();// Resume refreshbannerAd.ResumeAutoRefresh();
隐藏和显示横幅
作为横幅构造函数函数的一部分,您可以在背景加载横幅,并仅当相关时才在屏幕上共享。要控制加载后的广告可见性,可使用以下 API:
- ShowAd – 横幅将显示在屏幕上
- HideAd – 横幅将被隐藏
bannerAd.ShowAd();
bannerAd.HideAd();
// Show adbannerAd.ShowAd();// Hide adbannerAd.HideAd();
显示镂空(仅限 Android)
Android 设备中的显示切口是为摄像机、传感器或扬声器等重要组件保留的指定区域,通常用于智能手机和具有边缘到边缘显示屏的设备。镂空可能会限制游戏视图,从而影响横幅在屏幕上的放置/位置。为避免横幅广告和显示的镂空重叠,请创建 LevelPlayBannerAd 并将 ** respectSafeArea** 设置为 true。
您可以在此处了解有关 Google 显示镂空解决方案的更多信息。
要支持 Android 镂空,请创建一个 respectSafeArea 值为 true(默认值为 false)的 LevelPlayBannerAd 对象。
bannerAd = new LevelPlayBannerAd(bannerAdUnitId, respectSafeArea:true);
销毁横幅广告
要销毁横幅,请调用 DestroyAd 方法而不是 IronSource.destroyBanner。
已销毁的横幅无法再次显示。要显示更多广告服务,请创建一个新的 LevelPlayBannerAd 对象。
bannerAd.DestroyAd();
多个广告单元插页式 API
旧版 | 广告单元(新) | |
|---|---|---|
| 类 | IronSource | LevelPlayBannerAd |
| API | loadBanner | LoadAd |
| destroyBanner | DestroyAd | |
| LevelPlayAdSize.Width | ||
| - | LevelPlayAdSize.Height | |
| - | PauseAutoRefresh | |
| - | ResumeAutoRefresh | |
| - | ShowAd | |
| - | HideAd |
横幅广告服务的完整实现示例
以下是使用自适应横幅大小创建和加载横幅广告的示例。
public class BannerAdSample { 私有变量 LevelPlayBannerAd bannerAd; void CreateBannerAd() { // Create banner instance bannerAd = new LevelPlayBannerAd("bannerAdUnitId"); // Subscribe BannerAd events bannerAd.OnAdLoaded += BannerOnAdLoadedEvent; bannerAd.OnAdLoadFailed += BannerOnAdLoadFailedEvent; bannerAd.OnAdDisplayed += BannerOnAdDisplayedEvent; bannerAd.OnAdDisplayFailed += BannerOnAdDisplayFailedEvent; bannerAd.OnAdClicked += BannerOnAdClickedEvent; bannerAd.OnAdCollapsed += BannerOnAdCollapsedEvent; bannerAd.OnAdLeftApplication += BannerOnAdLeftApplicationEvent; bannerAd.OnAdExpanded += BannerOnAdExpandedEvent; } void LoadBannerAd() { // Load the banner ad bannerAd.LoadAd(); } void ShowBannerAd() { // Show the banner ad, call this method only if you turned off the auto show when you created this banner instance. bannerAd.ShowAd(); } void HideBannerAd() { // Hide banner bannerAd.HideAd(); } void DestroyBannerAd() { // Destroy banner bannerAd.DestroyAd(); } // Implement BannerAd Events void BannerOnAdLoadedEvent(LevelPlayAdInfo adInfo) {} void BannerOnAdLoadFailedEvent(LevelPlayAdError error) {} void BannerOnAdClickedEvent(LevelPlayAdInfo adInfo) {} void BannerOnAdDisplayedEvent(LevelPlayAdInfo adInfo) {} void BannerOnAdDisplayFailedEvent(LevelPlayAdInfo adInfo, LevelPlayAdError error) {} void BannerOnAdCollapsedEvent(LevelPlayAdInfo adInfo) {} void BannerOnAdLeftApplicationEvent(LevelPlayAdInfo adInfo) {} void BannerOnAdExpandedEvent(LevelPlayAdInfo adInfo) {}}
完成!
现在,您已全部设置为使用我们新的多个广告单元 API 在应用程序中提供横幅广告服务。