최신 AppLovin MAX Unity Plugin 버전에서는 adaptive banners가 기본값으로 설정되어 있으므로, 일부 network의 banner 높이가 이제 50포인트를 초과할 수 있습니다. 높이는 기기의 현재 방향 높이의 15%를 초과하지 않으며, 50포인트 미만으로 내려가지 않습니다. 자세한 내용은 아래의 Adaptive banners를 참조하십시오.
banner 및 MREC ad는 앱 레이아웃의 일부(주로 화면 상단이나 하단, 또는 스크롤 가능한 콘텐츠 내부)를 차지하는 직사각형 ad format입니다. 사용자가 앱과 상호작용하는 동안에도 계속 표시되므로 게임 플레이나 앱 사용을 방해하지 않으며, 설정된 시간 후에 자동으로 refresh될 수 있습니다.
다음 섹션에서는 banner 또는 MREC ad를 로드, 표시 및 숨기는 방법을 설명합니다.
AppLovin 블로그의 “Why mobile banners ads persist in a video and playable world”를 확인해 보세요.
banner 또는 MREC를 로드하려면 ad unit ID 및 원하는 ad view 위치와 함께 다음과 같은 코드를 사용하십시오:
#if UNITY_IOS
string bannerAdUnitId = "«iOS-ad-unit-ID»"; // 계정에서 ID를 가져옵니다.
#else // UNITY_ANDROID
string bannerAdUnitId = "«Android-ad-unit-ID»"; // 계정에서 ID를 가져옵니다.
#endif
public void InitializeBannerAds()
{
// banner 크기는 휴대폰에서는 320×50, 태블릿에서는 728×90으로 자동 조정됩니다.
// view 크기 조정을 돕기 위해 유틸리티 메서드 MaxSdkUtils.isTablet()을 호출할 수 있습니다.
var adViewConfiguration = new MaxSdk.AdViewConfiguration(MaxSdk.AdViewPosition.BottomCenter);
MaxSdk.CreateBanner(bannerAdUnitId, adViewConfiguration);
// banner가 완전히 작동하도록 배경색을 설정합니다.
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, MaxSdk.AdInfo adInfo) {}
private void OnBannerAdLoadFailedEvent(string adUnitId, MaxSdk.ErrorInfo errorInfo) {}
private void OnBannerAdClickedEvent(string adUnitId, MaxSdk.AdInfo adInfo) {}
private void OnBannerAdRevenuePaidEvent(string adUnitId, MaxSdk.AdInfo adInfo) {}
private void OnBannerAdExpandedEvent(string adUnitId, MaxSdk.AdInfo adInfo) {}
private void OnBannerAdCollapsedEvent(string adUnitId, MaxSdk.AdInfo adInfo) {}
banner 배경색을 #으로 시작하는 16진수 RGB 문자열로 설정하십시오. 예: '#000000'(검은색) 또는 '#fff200'(노란색).
#if UNITY_IOS
string mrecAdUnitId = "«iOS-ad-unit-ID»"; // 계정에서 ID를 가져옵니다.
#else // UNITY_ANDROID
string mrecAdUnitId = "«Android-ad-unit-ID»"; // 계정에서 ID를 가져옵니다.
#endif
public void InitializeMRecAds()
{
// MREC 크기는 휴대폰 및 태블릿에서 300x250으로 설정됩니다.
var adViewConfiguration = new MaxSdk.AdViewConfiguration(MaxSdk.AdViewPosition.Centered);
MaxSdk.CreateMRec(mrecAdUnitId, adViewConfiguration);
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, MaxSdk.AdInfo adInfo) {}
public void OnMRecAdLoadFailedEvent(string adUnitId, MaxSdk.ErrorInfo error) {}
public void OnMRecAdClickedEvent(string adUnitId, MaxSdk.AdInfo adInfo) {}
public void OnMRecAdRevenuePaidEvent(string adUnitId, MaxSdk.AdInfo adInfo) {}
public void OnMRecAdExpandedEvent(string adUnitId, MaxSdk.AdInfo adInfo) {}
public void OnMRecAdCollapsedEvent(string adUnitId, MaxSdk.AdInfo adInfo) {}
사용 가능한 전체 위치 옵션 목록은 다음과 같습니다.
TopLeftTopCenterTopRightCenteredCenterLeftCenterRightBottomLeftBottomCenterBottomRightMaxSdk.CreateBanner(«ad-unit-ID», new MaxSdk.AdViewConfiguration(«x», «y»)); 또는 MaxSdk.CreateMRec(«ad-unit-ID», new MaxSdk.AdViewConfiguration(«x», «y»));를 호출하여 화면의 특정 (x, y) 좌표에 ad를 배치할 수도 있습니다.
이 메서드는 ad의 왼쪽 상단 모서리 위치를 설정합니다.
좌표계는 화면의 safe area 경계를 나타냅니다.
이 좌표를 설정할 때 ad의 너비와 높이를 반드시 고려하십시오.
위치 (0, 0)은 TopLeft이며, safe area의 오른쪽 아래 모서리는 (safeAreaWidth, safeAreaHeight)입니다.
Unity는 Android 또는 iOS와 화면 크기나 safe area 크기가 다를 수 있습니다.
Unity의 화면 크기와 Android 또는 iOS에서 사용하는 크기 간에 변환하려면 다음과 같은 코드를 사용하십시오.
var density = MaxSdkUtils.GetScreenDensity();
var dp = «pixels» / density;
banner 또는 MREC를 표시하려면 다음을 호출하십시오:
MaxSdk.ShowBanner(«ad-unit-ID»);
MaxSdk.ShowMRec(«ad-unit-ID»);
banner 또는 MREC를 숨기려면 다음을 호출하십시오:
MaxSdk.HideBanner(«ad-unit-ID»);
MaxSdk.HideMRec(«ad-unit-ID»);
더 이상 ad 인스턴스가 필요하지 않을 수 있습니다(예: 사용자가 ad 제거 상품을 구매한 경우).
이 경우 DestroyBanner() 또는 DestroyMRec() 메서드를 호출하여 리소스를 해제하십시오.
동일한 ad unit ID로 여러 ad 인스턴스를 사용하는 경우에는 DestroyBanner() 또는 DestroyMRec()을 호출하지 마십시오.
MaxSdk.DestroyBanner(«ad-unit-ID»);
MaxSdk.DestroyMRec(«ad-unit-ID»);
banner의 위치와 크기를 가져오려면 GetBannerLayout()을 호출하십시오.
이는 banner 또는 MREC 로드하기에서 설명한 것과 동일한 Unity 좌표계를 사용합니다.
Rect bannerLayout = MaxSdk.GetBannerLayout(«ad-unit-ID»);
banner의 너비를 수동으로 설정하려면 SetBannerWidth()를 호출하십시오.
MaxSdk.SetBannerWidth(«ad-unit-ID», «width»);
banner 너비를 최소값(휴대폰의 경우 320, 태블릿의 경우 728)보다 큰 크기로 설정하십시오. 광고주는 이 너비 미만의 banner를 노출 불가능(not-viewable)으로 간주할 수 있으며, 이는 귀하의 수익에 영향을 미칩니다. banner 너비를 최소값 미만으로 설정하면 로그에 오류 메시지가 표시됩니다. 예를 들면 다음과 같습니다.
[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.
MAX Unity 플러그인은 Liftoff Monetize, Google bidding 및 Google AdMob, Google Ad Manager, Pangle, Yandex에서 adaptive banners를 자동으로 활성화합니다. 이를 통해 수익을 증대할 수 있습니다. AppLovin은 adaptive banners가 사용자에게 최상의 경험을 제공하는지 확인하기 위해 테스트를 진행할 것을 권장합니다. adaptive banners를 비활성화하려면 아래 지침을 따르십시오.
Google은 개발자가 banner 배치 영역과 앱 콘텐츠 사이에 50 px의 여백(padding)을 포함할 것을 권장합니다. 이렇게 하면 의도하지 않은 클릭이 발생할 가능성이 줄어듭니다. 자세한 정보 및 모범 사례는 Google의 “확인된 클릭수 정보” 정책을 참조하십시오.
Adaptive banners는 기기 유형과 banner 너비에 따라 높이가 결정되는 반응형 banner입니다.
adaptive banners를 지원하는 ad network의 banner는 기본적으로 adaptive로 설정됩니다.
adaptive banners를 비활성화하려면 banner를 생성할 때 다음 예와 같이 banner 추가 파라미터 adaptive_banner를 false로 설정하십시오.
#if UNITY_IOS
string bannerAdUnitId = "«iOS-ad-unit-ID»"; // 계정에서 ID를 가져옵니다.
#else // UNITY_ANDROID
string bannerAdUnitId = "«android-ad-unit-ID»"; // 계정에서 ID를 가져옵니다.
#endif
public void InitializeBannerAds()
{
var adViewConfiguration = new MaxSdk.AdViewConfiguration(CurrentBannerPosition)
{
IsAdaptive = false
};
MaxSdk.CreateBanner(bannerAdUnitId, adViewConfiguration);
// banner가 완전히 작동하도록 배경 또는 배경색을 설정합니다.
MaxSdk.SetBannerBackgroundColor(bannerAdUnitId, «background-color»);
}
MaxSdkUtils.GetAdaptiveBannerHeight()를 호출하여 banner 높이를 가져온 다음, 그에 맞게 콘텐츠를 조정하십시오.
TopCenter 및 BottomCenter banner 위치는 화면의 전체 너비에 걸쳐 표시됩니다.
다른 위치의 경우 너비는 320(휴대폰) 또는 728(태블릿)입니다.
MaxSdkUtils.GetAdaptiveBannerHeight(width) 함수는 width 파라미터를 받아 지정된 banner 너비에 적합한 adaptive 높이를 반환합니다.
banner ad를 수동으로 refresh하려는 경우 등 ad의 자동 refresh를 중지하고 싶을 수 있습니다. banner 또는 MREC ad의 자동 refresh를 중지하려면 다음 코드를 사용하십시오:
MaxSdk.StopBannerAutoRefresh(«ad-unit-ID»);
MaxSdk.StopMRecAutoRefresh(«ad-unit-ID»);
다음 코드를 사용하여 banner 또는 MREC ad의 자동 refresh를 시작하십시오:
MaxSdk.StartBannerAutoRefresh(«ad-unit-ID»);
MaxSdk.StartMRecAutoRefresh(«ad-unit-ID»);
다음 코드를 사용하여 콘텐츠를 수동으로 refresh하십시오.
LoadBanner() 또는 LoadMRec()을 호출하기 전에 자동 refresh를 중지해야 합니다.
MaxSdk.LoadBanner(«ad-unit-ID»);
MaxSdk.LoadMRec(«ad-unit-ID»);