Banner 및 MREC 광고

banner 및 MREC 광고는 앱 레이아웃의 일부(종종 화면 상단이나 하단, 또는 스크롤 가능한 콘텐츠 내부)를 차지하는 직사각형 광고 포맷입니다. 이 광고는 사용자가 앱과 상호작용하는 동안 계속 표시되므로 게임 플레이나 앱 사용을 방해하지 않으며, 설정된 시간 후에 자동으로 refresh될 수 있습니다.

다음 섹션에서는 banner 또는 MREC 광고를 로드, 표시 및 숨기는 방법을 설명합니다.

banner 또는 MREC 로드하기

다음 코드는 Ad Unit ID, 원하는 위치, 그리고 (banner의 경우) 원하는 배경색을 사용하여 banner 또는 MREC를 로드하는 방법을 보여줍니다. MAX가 자동으로 광고 크기를 조정해 줍니다:

final String _banner_ad_unit_ID = Platform.isAndroid ? "«Android-banner-ad-unit-ID»" : "«iOS-banner-ad-unit-ID»";

void initializeBannerAds()
{
  // MAX는 휴대폰에서 320×50, 태블릿에서 728×90으로 banner 크기를 자동으로 조정합니다.
  AppLovinMAX.createBanner(_banner_ad_unit_ID, AdViewPosition.bottomCenter);
}

banner 또는 MREC 표시하기

banner 또는 MREC를 표시하려면 다음 호출을 수행합니다:

AppLovinMAX.showBanner(«ad-unit-ID»);

banner 또는 MREC를 숨기려면 다음 호출을 수행합니다:

AppLovinMAX.hideBanner(«ad-unit-ID»);

위젯 메서드

위젯 트리 내에 직접 banner 또는 MREC를 렌더링할 수도 있습니다:

final String _ad_unit_ID = Platform.isAndroid ? "«Android-ad-unit-ID»" : "«iOS-ad-unit-ID»";
MaxAdView(
  adUnitId: _ad_unit_ID,
  adFormat: AdFormat.banner,
  listener: AdViewAdListener(onAdLoadedCallback: (ad) {
    ⋮
  }, onAdLoadFailedCallback: (adUnitId, error) {
    ⋮
  }, onAdClickedCallback: (ad) {
    ⋮
  }, onAdExpandedCallback: (ad) {
    ⋮
  }, onAdCollapsedCallback: (ad) {
    ⋮
  })
)

광고 프리로딩 (Ad preloading)

Flutter 플러그인 버전 3.11.1부터는 MaxAdView를 마운트하기 전에 플랫폼 위젯용 광고를 프리로드할 수 있습니다. 프리로드한 Ad Unit ID로 MaxAdView를 마운트하면, 프리로드된 플랫폼 위젯으로 MaxAdView가 구성됩니다. 이를 통해 광고를 빠르게 표시할 수 있습니다.

Flutter 플러그인 버전 4.1.0에서는 여러 MaxAdView 인스턴스를 지원하도록 이 프리로딩 기능이 업데이트되었습니다. preloadWidgetAdView() 메서드는 AdViewId를 반환하며, 이를 사용하여 MaxAdView를 마운트할 때 프리로드된 광고를 지정할 수 있습니다.

AppLovinMAX.preloadWidgetAdView(«ad-unit-ID», AdFormat.banner)
  .then((adViewId) {
    print('Started preloading a banner ad $adViewId for ${«ad-unit-ID»}');
  });

MaxAdView를 마운트할 때 AdViewId를 지정할 수 있습니다:

MaxAdView(
  adUnitId: «ad-unit-ID»,
  adFormat: AdFormat.banner,
  adViewId: «ad-view-ID»,
  listener: AdViewAdListener(onAdLoadedCallback: (ad) {
    print('Banner widget ad (${ad.adViewId}) loaded from ${ad.networkName}');
  }))

MaxAdView를 언마운트해도 프리로드된 플랫폼 위젯은 제거되지 않고 캐시되므로 다음 마운트 시 재사용할 수 있습니다. 리소스를 해제하려면 더 이상 필요하지 않을 때 수동으로 제거해야 합니다:

AppLovinMAX.destroyWidgetAdView(«ad-view-ID»)
  .then((_) {
    print('Destroyed the preloaded banner ad');
  });

MaxAdView를 마운트할 때 AdViewId를 생략하면 컴포넌트가 광고를 동적으로 로드합니다. 이러한 경우 MaxAdView를 언마운트하면 자동으로 제거되어 재사용할 수 없습니다.

완전하게 작동하는 예제는 AppLovin-MAX-Flutter GitHub 프로젝트의 예제 앱을 참고하세요.

Adaptive banners

Google bidding 및 Google AdMob, Google Ad Manager, Liftoff Monetize, Pangle, Yandex는 adaptive banners를 지원합니다. MAX는 다른 network의 banner 크기를 비적응형(non-adaptive) 방식으로 조정합니다.

Google은 개발자가 banner 배치와 앱 콘텐츠 사이에 50 px의 여백(padding)을 포함할 것을 권장합니다. 이렇게 하면 사용자가 실수로 banner를 클릭할 가능성이 줄어듭니다. 자세한 정보 및 모범 사례는 Google의 “확인된 클릭 정보” 정책을 참고하세요.

Adaptive banners는 기기 유형과 banner 너비에 따라 높이가 결정되는 반응형 banner입니다. Flutter 플러그인 버전 4.2.0부터 adaptive banners를 지원하는 ad networks의 banner는 기본적으로 적응형으로 설정됩니다. adaptive banners를 비활성화하려면 다음 예제와 같이 해당 파라미터를 false로 설정하세요:

AppLovinMAX.createBanner(«ad-unit-ID», AdViewPosition.bottomCenter, false);

adaptive banner 크기에 따라 UI를 조정해야 하는 경우, 로드된 광고의 너비와 높이를 dp 단위로 가져올 수 있습니다. 다음 코드는 이를 수행하는 방법을 보여줍니다:

AppLovinMAX.setBannerListener(AdViewAdListener(onAdLoadedCallback: (ad) {
  double? widthDp = ad.size?.width;
  double? heightDp = ad.size?.height;
}));

자동 새로고침(auto-refresh) 중지 및 시작

광고의 auto-refresh를 중지하고 싶을 수 있습니다. 광고를 숨기거나 수동으로 새로고침하려는 경우가 이에 해당합니다. 다음 코드를 사용하여 auto-refresh를 중지합니다:

AppLovinMAX.showBanner(«ad-unit-ID»);
AppLovinMAX.stopBannerAutoRefresh(«ad-unit-ID»);

다음 코드를 사용하여 광고의 auto-refresh를 시작합니다:

AppLovinMAX.startBannerAutoRefresh(«ad-unit-ID»);

search