AppOpen 광고

App open ads는 interstitial ads와 유사하지만, 사용자가 앱을 soft launch하거나 cold start할 때 표시됩니다.

Cold start
기기에서 앱의 새 세션을 생성하는 경우
  • 앱이 기기 메모리에 없음
  • 스플래시/로딩 화면 필요
Soft launch
앱을 백그라운드에서 포그라운드로 가져오거나, 앱이 포그라운드 모드일 때 휴대폰을 활성화하는 경우
  • 앱이 메모리에 일시 중단되어 있음
  • 스플래시/로딩 화면 필요

Fire OS 애플리케이션은 지원되지 않습니다.

Best practices

  • App open ad를 보여주기 전에 스플래시/로딩 화면을 표시하세요. 광고를 어떻게 배치하든 이 방식을 적용해야 합니다.
    • 스플래시/로딩 화면에 사용자에게 광고가 표시될 것임을 알리는 문구를 포함하세요.
      • 예: “앱을 로드하는 동안 스폰서의 광고를 시청해 주세요.”
    • 광고가 표시되기 전에 사용자가 실제 앱 콘텐츠에 노출되지 않도록 하세요. 올바른 순서는 다음과 같습니다: 스플래시/로딩 화면 ⇒ app open ad ⇒ 앱 콘텐츠.
  • App open ad를 로드하기 전에 AppLovin SDK가 초기화되었는지 확인하세요.
  • App open ad가 아직 로드되지 않은 경우(예: cold start 시), 이 광고를 가장 먼저 로드하세요. 다른 ad formats는 나중에 로드하여 app open ad와 병렬로 로드되지 않도록 하세요.
    • 여러 ad formats를 병렬로 로드하는 것은 기기 리소스나 광고 디맨드 SDK에 좋지 않습니다.
  • 사용자에게 App Open Ads가 과도하게 노출되는 것을 방지하기 위해, AppLovin은 다음과 같은 전략을 고려할 것을 권장합니다:
    • AppLovin 외부에서 관리하는 frequency cap을 사용하세요. 이렇게 하면 광고가 서빙되는 시점을 완전히 제어할 수 있습니다.
    • 앱 내 사용자 행동을 기반으로 cool down 기간을 구현하세요. 예를 들어, soft launch 중에 광고를 보여준 후 일정 시간 동안은 다시 보여주지 않거나, soft launch 두 번 중 한 번만 광고를 보여주는 방식입니다.
    • 신규 사용자가 앱을 열고 몇 번 사용할 때까지 기다린 후에 첫 번째 App Open Ad를 보여주세요.

Retention

App Open Ad 포맷을 구현할 때는 항상 retention을 고려해야 합니다.

App open ads의 경우 다양한 구현 전략 중에서 선택할 수 있습니다.

AppLovin은 아래에 설명된 기술 중 하나 이상을 사용하여 테스트해 볼 것을 권장합니다. 각 애플리케이션은 retention이나 앱 체류 시간에 영향을 주지 않으면서 수익을 극대화할 수 있는 고유한 구성을 가지고 있습니다. 사용자 행동과 인게이지먼트는 변경될 수 있으므로, AppLovin은 App Open Ads 전략을 자주 재테스트할 것을 권장합니다. App Open Ads를 테스트하기 위해 사용할 수 있는 몇 가지 구현 기술은 다음과 같습니다:

  • 적절한 사용자에게 보여주기. 이 기술의 예시는 다음과 같습니다:
    • 최초 설치 후 cold start 시 광고를 보여주기까지 가변적인 일수 동안 대기합니다.
    • 최근 며칠 동안 세션이 있었던 사용자에게 보여줍니다.
    • 앱에서 특정 기준에 도달한 사용자에게 보여줍니다. 예를 들어 특정 레벨을 완료했거나, 앱을 특정 횟수 이상 열었거나, Rewarded 제품에 참여하지 않는 사용자 등이 있습니다.
  • 사용자에게 광고가 과도하게 노출되는 것을 방지하기. 이 기술의 예시는 다음과 같습니다:
    • 모든 기회마다 광고를 보여주지 마세요. 대신 두 번, 세 번, 또는 네 번의 광고 기회 중 한 번만 보여줍니다.
    • 사용자가 일정 시간(예: 30초, 2분, 15분) 동안 앱을 백그라운드로 보낸 경우에만 광고를 보여줍니다.
    • cold start 광고를 보여준 경우, 일정 시간 동안은 soft launch app open ads나 interstitials를 보여주지 마세요.
    • frequency cap을 사용하세요. 가능한 경우 해당 제한을 사용자 코호트에 맞게 조정하세요.
  • 스플래시 화면을 사용하여 사용자에게 알리기.

Using an app open ad

사용자가 애플리케이션을 포그라운드로 가져올 때 app open ad가 준비되어 있도록 하려면, MAAppOpenAd를 프리로드하세요. 광고가 준비되었을 때 광고를 보여주는 메서드를 만드세요. 해당 메서드를 applicationDidBecomeActive: 내부에서 호출하세요.

그러면 앱은 앱이 열릴 때 광고 표시를 시도하거나, 프리로드된 광고가 없는 경우 광고를 로드합니다.

Cold starts and loading screens

광고를 요청하는 시점과 표시할 광고를 수신하는 시점 사이에는 지연이 존재합니다. 앱을 제대로 설계하지 않으면 사용자가 잠시 앱을 보았다가 갑자기 맥락에 맞지 않는 광고가 나와 당황할 수 있습니다. 이러한 나쁜 사용자 경험을 방지하세요. 앱 콘텐츠가 표시되기 전에 로딩 화면을 보여주고, 로딩 화면이 끝난 후에 광고를 보여주는 방식으로 cold starts를 처리할 수 있습니다. 로딩 화면 이후에 앱 콘텐츠가 이미 표시되었다면 광고를 보여주지 마세요.

App open ad 아래에 로딩 화면이 있고 사용자가 광고를 닫기 전에 해당 로딩 화면이 완료되는 경우, didHide 메서드에서 로딩 화면을 닫을 수 있습니다.

Examples

이 코드 예제는 앱이 메모리에 일시 중단된 후 “soft launch”할 때만 app open ads가 표시된다고 가정합니다. 스플래시/로딩 화면은 포함되어 있지 않습니다. 스플래시/로딩 화면은 직접 처리해야 합니다. Best practices를 참조하세요.

@interface AppDelegate()<MAAdDelegate>
@property (nonatomic, strong) MAAppOpenAd *appOpenAd;
@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  [[ALSdk shared] initializeSdkWithCompletionHandler:^(ALSdkConfiguration *configuration) {
    self.appOpenAd = [[MAAppOpenAd alloc] initWithAdUnitIdentifier: @"«ad-unit-ID»"];
    self.appOpenAd.delegate = self;
    [self.appOpenAd loadAd];
  }]

  return YES;
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
  [self showAdIfReady];
}

- (void)showAdIfReady
{
  if ( ![[ALSdk shared] isInitialized] )
  {
    return;
  }

  if ( [self.appOpenAd isReady] )
  {
    [self.appOpenAd showAdForPlacement: @"«test-placement-ID»"];
  }
  else
  {
    [self.appOpenAd loadAd];
  }
}

- (void)didLoadAd:(MAAd *)ad {}
- (void)didFailToLoadAdForAdUnitIdentifier:(NSString *)adUnitIdentifier withError:(MAError *)error {}
- (void)didDisplayAd:(MAAd *)ad {}
- (void)didClickAd:(MAAd *)ad {}

- (void)didHideAd:(MAAd *)ad
{
  [self.appOpenAd loadAd];
}

- (void)didFailToDisplayAd:(MAAd *)ad withError:(MAError *)error
{
  [self.appOpenAd loadAd];
}

@end

Supported adapter versions

Ad networkMinimum adapter version
BIGO Ads4.2.1.0
Google Bidding and Google AdMob10.9.0.1
Liftoff Monetize6.12.0.3
Mintegral7.2.3.0.1
Pangle4.6.2.2.1

search