跳转到内容

横幅和 MREC

以下各节将向您介绍如何加载、显示和隐藏横幅或 MREC 广告。

加载横幅或 MREC

要加载横幅或 MREC,请使用如下代码,在其中添加您的 ad unit ID 和所需的广告展示位置:

#if UNITY_IOS
string bannerAdUnitId = "«iOS-ad-unit-ID»"; // Retrieve the ID from your account
#else // UNITY_ANDROID
string bannerAdUnitId = "«Android-ad-unit-ID»"; // Retrieve the ID from your account
#endif
public void InitializeBannerAds()
{
// Banners are automatically sized to 320×50 on phones and 728×90 on tablets
// You may call the utility method MaxSdkUtils.isTablet() to help with view sizing adjustments
MaxSdk.CreateBanner(bannerAdUnitId, MaxSdkBase.BannerPosition.BottomCenter);
// Set background or background color for banners to be fully functional
MaxSdk.SetBannerBackgroundColor(bannerAdUnitId, «banner-background-color»);
MaxSdkCallbacks.Banner.OnAdLoadedEvent += OnBannerAdLoadedEvent;
MaxSdkCallbacks.Banner.OnAdLoadFailedEvent += OnBannerAdLoadFailedEvent;
MaxSdkCallbacks.Banner.OnAdClickedEvent += OnBannerAdClickedEvent;
MaxSdkCallbacks.Banner.OnAdRevenuePaidEvent += OnBannerAdRevenuePaidEvent;
MaxSdkCallbacks.Banner.OnAdExpandedEvent += OnBannerAdExpandedEvent;
MaxSdkCallbacks.Banner.OnAdCollapsedEvent += OnBannerAdCollapsedEvent;
}
private void OnBannerAdLoadedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) {}
private void OnBannerAdLoadFailedEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo) {}
private void OnBannerAdClickedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) {}
private void OnBannerAdRevenuePaidEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) {}
private void OnBannerAdExpandedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) {}
private void OnBannerAdCollapsedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) {}

Set your banner background color to a #-prefixed hexadecimal RGB string, for example '#000000' (black) or '#fff200' (yellow).

以下为完整的位置选项列表:

  • TopLeft
  • TopCenter
  • TopRight
  • Centered
  • CenterLeft
  • CenterRight
  • BottomLeft
  • BottomCenter
  • BottomRight

您也可以调用 MaxSdk.CreateBanner(«ad-unit-ID», «x», «y»);MaxSdk.CreateMRec(«ad-unit-ID», «x», «y»);来将广告放置在屏幕中具体的 (x, y) 坐标上。 此操作可设置广告左上角的位置。 该坐标系代表屏幕的安全区域边界。 在设置这些坐标时,请务必考虑到广告的宽度和高度。 (0, 0) 位置等同于 TopLeft;安全区域的右下角为 ( safeAreaWidth, safeAreaHeight )。 请注意,Unity 的屏幕尺寸或安全区域大小可能与 Android 或 iOS 不同。 要在 Unity 的屏幕尺寸和 Android 或 iOS 使用的尺寸之间进行转换,请使用如下代码:

var density = MaxSdkUtils.GetScreenDensity();
var dp = «pixels» / density;

显示横幅或 MREC

要显示横幅或 MREC,请进行以下调用:

MaxSdk.ShowBanner(«ad-unit-ID»);

隐藏横幅或 MREC:

要隐藏横幅或 MREC,请进行如下调用:

MaxSdk.HideBanner(«ad-unit-ID»);

销毁横幅或 MREC

某些情况下,您可能不再需要某个广告实例 (例如用户购买了广告移除服务)。 此时,请调用 DestroyBanner()DestroyMRec() 方法来释放资源。 如果您使用带有相同 Ad Unit ID 的多个广告实例,请不要调用 DestroyBanner()DestroyMRec()

MaxSdk.DestroyBanner(«ad-unit-ID»);

获取横幅位置

要获取横幅的位置和尺寸,请调用 GetBannerLayout()。 此操作使用与加载横幅或 MREC中所述相同的 Unity 坐标系。

Rect bannerLayout = MaxSdk.GetBannerLayout(«ad-unit-ID»);

设置横幅宽度

要手动设置横幅的宽度,请调用 SetBannerWidth()。 请将宽度设置为大于最小值 (手机为 320,平板电脑为 728)。 小于此宽度的横幅可能会被广告主认为无法浏览,导致您的收入受到影响。

MaxSdk.SetBannerWidth(«ad-unit-ID», «width»);

如果您设置的横幅宽度低于最小值,则会在日志中看到错误信息。 例如:

[AppLovinSdk] [MAUnityAdManager] The provided width: 300.000000 is smaller than the minimum required width: 320.000000 for ad format: [MAAdFormat: BANNER]. Please set the width higher than the minimum required.

自适应横幅

自适应横幅是响应性横幅,其高度取决于设备类型和横幅宽度。 如需创建自适应横幅,请根据您的 AppLovin MAX Unity 插件版本参考以下说明:

AppLovin MAX Unity 插件 < 3.2.2

自适应横幅不适用于 MAX Unity 插件 3.2.2 之前的版本。

AppLovin MAX Unity 插件 3.2.2–4.3.0

要创建自适应横幅,请在创建横幅时将横幅额外参数 adaptive_banner 设置为 true,如下所示:

#if UNITY_IOS
string bannerAdUnitId = "«ios_ad-unit-ID»"; // Retrieve the ID from your account
#else // UNITY_ANDROID
string bannerAdUnitId = "«android_ad-unit-ID»"; // Retrieve the ID from your account
#endif
public void InitializeBannerAds()
{
// Adaptive banners are sized based on device width for positions that stretch full width (TopCenter and BottomCenter).
// You may use the utility method `MaxSdkUtils.GetAdaptiveBannerHeight()` to help with view sizing adjustments
MaxSdk.CreateBanner(bannerAdUnitId, MaxSdkBase.BannerPosition.BottomCenter);
MaxSdk.SetBannerExtraParameter(bannerAdUnitId, "adaptive_banner", "true");
// Set background or background color for banners to be fully functional
MaxSdk.SetBannerBackgroundColor(bannerAdUnitId, «background_color»);
}

调用 MaxSdkUtils.GetAdaptiveBannerHeight() 来获取横幅高度,然后据此调整内容。

AppLovin MAX Unity 插件 4.3.1+

来自支持自适应横幅的广告平台的横幅默认为自适应横幅。 如果您想禁用自适应横幅,请在创建横幅时将横幅额外参数 adaptive_banner 设置为 false,如下所示:

#if UNITY_IOS
string bannerAdUnitId = "«ios_ad-unit-ID»"; // Retrieve the ID from your account
#else // UNITY_ANDROID
string bannerAdUnitId = "«android_ad-unit-ID»"; // Retrieve the ID from your account
#endif
public void InitializeBannerAds()
{
MaxSdk.CreateBanner(bannerAdUnitId, MaxSdkBase.BannerPosition.BottomCenter);
MaxSdk.SetBannerExtraParameter(bannerAdUnitId, "adaptive_banner", "false");
// Set background or background color for banners to be fully functional
MaxSdk.SetBannerBackgroundColor(bannerAdUnitId, «background_color»);
}

调用 MaxSdkUtils.GetAdaptiveBannerHeight() 来获取横幅高度,然后据此调整内容。

停止和启动自动刷新

某些情况下,您可能需要停止广告的自动刷新,例如想要手动刷新横幅广告时。 要停止横幅广告或 MREC 广告的自动刷新,请使用以下代码:

MaxSdk.StopBannerAutoRefresh(«ad-unit-ID»);

使用以下代码为横幅或 MREC 广告启动自动刷新:

MaxSdk.StartBannerAutoRefresh(«ad-unit-ID»);

使用以下代码手动刷新内容。 在调用 LoadBanner()LoadMRec() 之前,您必须停止自动刷新。

MaxSdk.LoadBanner(«ad-unit-ID»);