시작하기
네이티브 오버레이 광고는 플랫폼 고유의 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;
}
}
다음 단계
- 네이티브 광고 플레이북에서 네이티브 광고에 대해 자세히 알아보세요.
- 네이티브 광고 정책 및 가이드라인을 참고하세요.