네이티브 오버레이 광고

플랫폼 선택: Android iOS Flutter Unity

시작하기

네이티브 오버레이 광고는 플랫폼 고유의 UI 구성요소를 통해 사용자에게 표시됩니다. 이러한 광고는 애플리케이션 상단에 오버레이로 표시됩니다. 이는 배너 광고가 작동하는 방식과 유사하지만 네이티브 오버레이 광고는 모양을 맞춤설정할 수 있습니다.

네이티브 오버레이 광고는 미디에이션 및 동영상 광고를 지원합니다. 이는 네이티브 광고와 비교했을 때 네이티브 오버레이 광고의 주요 이점입니다.

이 가이드에서는 Unity 앱에 네이티브 오버레이 광고를 구현하는 방법과 구현 시 고려해야 하는 중요한 사항을 설명합니다.

기본 요건

  • 시작 가이드에 따라 필요한 과정을 완료합니다.
  • Unity 플러그인 9.0.0 이상이 필요합니다.

항상 테스트 광고로 테스트합니다

아래 샘플 코드에는 테스트 광고 요청에 사용할 수 있는 광고 단위 ID가 포함되어 있습니다. 이 ID는 모든 요청에 대해 실제 광고가 아닌 테스트 광고를 반환하도록 구성되어서 안전하게 사용할 수 있습니다.

그러나 AdMob 웹 인터페이스에 앱을 등록하고 앱에서 사용할 광고 단위 ID를 직접 생성한 후에는 개발 중에 명확하게 기기를 테스트 기기로 설정하세요.

Android

ca-app-pub-3940256099942544/2247696110

iOS

ca-app-pub-3940256099942544/3986624511

네이티브 오버레이 광고 로드

네이티브 오버레이 광고는 NativeOverlayAd 클래스의 정적 Load() 메서드를 사용하여 로드됩니다. 로드된 NativeOverlayAd 객체는 완료 핸들러의 매개변수로 제공됩니다.

다음 코드는 NativeOverlayAd를 사용하여 광고를 로드합니다.



  // These ad units are configured to always serve test ads.
#if UNITY_ANDROID
  private string _adUnitId = "ca-app-pub-3940256099942544/2247696110";
#elif UNITY_IPHONE
  private string _adUnitId = "ca-app-pub-3940256099942544/3986624511";
#else
  private string _adUnitId = "unused";
#endif


private NativeOverlayAd _nativeOverlayAd;

/// <summary>
/// Loads the ad.
/// </summary>
public void LoadAd()
{
    // Clean up the old ad before loading a new one.
    if (_nativeOverlayAd != null)
    {
        DestroyAd();
    }

    Debug.Log("Loading native overlay ad.");

    // Create a request used to load the ad.
    var adRequest = new AdRequest();

    // Optional: Define native ad options.
    var options = new NativeAdOptions
    {
        AdChoicesPosition = AdChoicesPlacement.TopRightCorner,
        MediaAspectRatio = NativeMediaAspectRatio.Any,
    };

    // Send the request to load the ad.
    NativeOverlayAd.Load(_adUnitId, adRequest, options,
        (NativeOverlayAd ad, LoadAdError error) =>
    {
        if (error != null)
        {
            Debug.LogError("Native Overlay ad failed to load an ad " +
                           " with error: " + error);
            return;
        }

        // The ad should always be non-null if the error is null, but
        // double-check to avoid a crash.
        if (ad == null)
        {
            Debug.LogError("Unexpected error: Native Overlay ad load event " +
                           " fired with null ad and null error.");
            return;
        }

        // The operation completed successfully.
        Debug.Log("Native Overlay ad loaded with response : " +
                   ad.GetResponseInfo());
        _nativeOverlayAd = ad;

        // Register to ad events to extend functionality.
        RegisterEventHandlers(ad);
    });
}

네이티브 오버레이 광고 렌더링 및 스타일 지정

네이티브 오버레이 광고는 NativeTemplateStyle을 사용하여 렌더링됩니다. 이 클래스는 광고의 모양을 맞춤설정할 수 있는 필드를 정의합니다.

TemplateID는 네이티브 오버레이 광고를 렌더링하는 데 사용되는 네이티브 템플릿을 정의하는 필수 문자열입니다. NativeTemplateID 상수를 사용하여 광고에 적합한 네이티브 템플릿을 선택합니다.

다음 코드는 중간 템플릿과 맞춤 스타일로 네이티브 오버레이 광고를 렌더링합니다.

/// <summary>
/// Renders the ad.
/// </summary>
public void RenderAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Rendering Native Overlay ad.");

        // Define a native template style with a custom style.
        var style = new NativeTemplateStyle
        {
            TemplateID = NativeTemplateID.Medium,
            MainBackgroundColor = Color.red,
            CallToActionText = new NativeTemplateTextStyles
            {
                BackgroundColor = Color.green,
                FontColor = Color.white,
                FontSize = 9,
                Style = NativeTemplateFontStyle.Bold
            }
        };

        // Renders a native overlay ad at the default size
        // and anchored to the bottom of the screne.
        _nativeOverlayAd.RenderTemplate(style, AdPosition.Bottom);
    }
}

네이티브 오버레이 광고 표시 및 숨기기

다음 코드는 로드된 네이티브 오버레이 광고를 표시하는 방법을 보여줍니다.

/// <summary>
/// Shows the ad.
/// </summary>
public void ShowAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Showing Native Overlay ad.");
        _nativeOverlayAd.Show();
    }
}

네이티브 오버레이 광고 숨기기

다음 코드는 네이티브 오버레이 광고를 숨기는 방법을 보여줍니다.

/// <summary>
/// Hides the ad.
/// </summary>
public void HideAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Hiding Native Overlay ad.");
        _nativeOverlayAd.Hide();
    }
}

네이티브 오버레이 광고 소멸

네이티브 오버레이 광고 사용을 마치면 Destroy()를 호출하여 리소스를 해제하세요.

/// <summary>
/// Destroys the native overlay ad.
/// </summary>
public void DestroyAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Destroying native overlay ad.");
        _nativeOverlayAd.Destroy();
        _nativeOverlayAd = null;
    }
}

다음 단계