横幅和 MREC
以下各节将向您介绍如何加载、显示和隐藏横幅或 MREC 广告。
加载横幅或 MREC
要加载横幅或 MREC,请使用如下代码,在其中添加您的 ad unit ID 和所需的广告展示位置:
#if UNITY_IOSstring bannerAdUnitId = "«iOS-ad-unit-ID»"; // Retrieve the ID from your account#else // UNITY_ANDROIDstring 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) {}
将横幅背景颜色设置为以 # 为前缀的十六进制 RGB 字符串,例如 '#000000'
(黑色) 或 '#fff200'
(黄色)。
#if UNITY_IOSstring mrecAdUnitId = "«iOS-ad-unit-ID»"; // Retrieve the ID from your account#else // UNITY_ANDROIDstring mrecAdUnitId = "«Android-ad-unit-ID»"; // Retrieve the ID from your account#endif
public void InitializeMRecAds(){ // MRECs are sized to 300x250 on phones and tablets MaxSdk.CreateMRec(mrecAdUnitId, MaxSdkBase.AdViewPosition.Centered);
MaxSdkCallbacks.MRec.OnAdLoadedEvent += OnMRecAdLoadedEvent; MaxSdkCallbacks.MRec.OnAdLoadFailedEvent += OnMRecAdLoadFailedEvent; MaxSdkCallbacks.MRec.OnAdClickedEvent += OnMRecAdClickedEvent; MaxSdkCallbacks.MRec.OnAdRevenuePaidEvent += OnMRecAdRevenuePaidEvent; MaxSdkCallbacks.MRec.OnAdExpandedEvent += OnMRecAdExpandedEvent; MaxSdkCallbacks.MRec.OnAdCollapsedEvent += OnMRecAdCollapsedEvent;}
public void OnMRecAdLoadedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) {}
public void OnMRecAdLoadFailedEvent(string adUnitId, MaxSdkBase.ErrorInfo error) {}
public void OnMRecAdClickedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) {}
public void OnMRecAdRevenuePaidEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) {}
public void OnMRecAdExpandedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) {}
public void OnMRecAdCollapsedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) {}
以下为完整的位置选项列表:
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»);
MaxSdk.ShowMRec(«ad-unit-ID»);
隐藏横幅或 MREC
要隐藏横幅或 MREC,请进行如下调用:
MaxSdk.HideBanner(«ad-unit-ID»);
MaxSdk.HideMRec(«ad-unit-ID»);
销毁横幅或 MREC
某些情况下,您可能不再需要某个广告实例 (例如用户购买了广告移除服务)。
此时,请调用 DestroyBanner()
或 DestroyMRec()
方法来释放资源。
如果您使用带有相同 Ad Unit ID 的多个广告实例,那么请勿调用 DestroyBanner()
或 DestroyMRec()
。
MaxSdk.DestroyBanner(«ad-unit-ID»);
MaxSdk.DestroyMRec(«ad-unit-ID»);
获取横幅位置
要获取横幅的位置和尺寸,请调用 GetBannerLayout()
。
此操作使用的 Unity 坐标系与 加载横幅 or MREC 中所述的相同。
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.
自适应横幅
自适应横幅是响应性横幅,其高度取决于设备类型和横幅宽度。
来自支持自适应横幅的广告平台的横幅默认为自适应横幅。
如果您想禁用自适应横幅,请在创建横幅时将横幅额外参数 adaptive_banner
设置为 false
,如下所示:
#if UNITY_IOSstring bannerAdUnitId = "«iOS-ad-unit-ID»"; // Retrieve the ID from your account#else // UNITY_ANDROIDstring 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»);
MaxSdk.StopMRecAutoRefresh(«ad-unit-ID»);
使用以下代码为横幅或 MREC 广告启动自动刷新:
MaxSdk.StartBannerAutoRefresh(«ad-unit-ID»);
MaxSdk.StartMRecAutoRefresh(«ad-unit-ID»);
使用以下代码手动刷新内容。
在调用 LoadBanner()
或 LoadMRec()
之前,您必须停止自动刷新。
MaxSdk.LoadBanner(«ad-unit-ID»);
MaxSdk.LoadMRec(«ad-unit-ID»);