Ad Manager 게시자는 맞춤 애셋 목록을 정의하여 자체적인 네이티브 광고 형식을 만들 수 있습니다. 이를 맞춤 네이티브 광고 형식이라고 하며, 예약 광고와 함께 사용할 수 있습니다. 게시자는 맞춤 네이티브 광고를 통해
임의의 이미지와 문자열 데이터를 앱에 전달할 수 있습니다. 이 데이터는 CustomNativeAd
객체로 표현됩니다.
맞춤 네이티브 광고 로드
맞춤 네이티브 광고는 AdLoader
객체를 통해 로드됩니다. ForCustomNativeAd()
메서드는 맞춤 네이티브 광고를 처리하도록 AdLoader
를 구성합니다. 이 메서드에는 두 가지 매개변수가 있습니다.
AdLoader
에서 요청해야 하는 맞춤 광고의formatId
. 각 맞춤 네이티브 광고 형식에는 형식 ID 값이 연결되어 있습니다. 이 매개변수는 앱에서AdLoader
를 통해 요청할 형식을 나타냅니다.- 사용자가 광고를 클릭할 때 호출되는
Action<CustomNativeAd, string>
(선택사항).
맞춤 네이티브 광고는 AdLoader
클래스를 통해 로드되며 이 클래스에는 생성 중에 맞춤설정할 수 있는 자체 AdLoader.Builder
클래스가 포함되어 있습니다. ForCustomNativeAd()
메서드는 네이티브 광고를 처리하도록 AdLoader
를 구성합니다.
void LoadCustomNativeAd()
{
AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
.ForCustomNativeAd("10063170")
.Build();
adLoader.LoadAd(new AdRequest.Builder().Build());
}
두 개 이상의 맞춤 네이티브 광고 형식을 제공하도록 단일 광고 단위를 설정할 수 있으므로, 서로 다른 형식 ID를 이용하여 ForCustomNativeAd()
를 여러 번 호출함으로써 맞춤 네이티브 광고 형식이 두 개 이상 게재되도록 광고 로더를 준비할 수 있습니다.
맞춤 네이티브 광고 이벤트
AdLoader
클래스는 EventHandler
유형의 광고 이벤트를 제공하여 맞춤 네이티브 광고 형식의 수명 주기를 알려줍니다. 다음은 광고 로더에서 맞춤 네이티브 광고 이벤트를 등록하는 방법의 예입니다.
private AdLoader adLoader;
adLoader.OnCustomNativeAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;
HandleCustomNativeAdLoaded()
메서드에는 CustomNativeAdEventArgs
매개변수가 포함되어 있습니다. 아래와 같이 이 이벤트 매개변수를 통해 로드된 맞춤 네이티브 광고에 액세스할 수 있습니다.
void HandleCustomNativeAdLoaded(object sender, CustomNativeAdEventArgs args)
{
this.customNativeAd = args.nativeAd;
}
HandleCustomNativeAdFailedToLoad()
메서드에는 AdFailedToLoadEventArgs
매개변수가 포함되어 있습니다. 아래와 같이 LoadAdError
필드의 GetMessage
메서드를 호출하여 오류 메시지에 액세스할 수 있습니다.
void HandleCustomNativeAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
string message = args.LoadAdError.GetMessage();
Debug.Log("Ad Loader fail event received with message: " + message);
}
맞춤 네이티브 광고 형식 표시
맞춤 네이티브 광고는 사용자 정의 이미지 및 텍스트 애셋을 개수에 제한 없이 지원합니다. CustomNativeAd
클래스를 통해 이러한 애셋에 액세스합니다. 이 클래스는 형식 필드의 변수 ID를 매개변수로 사용하는 GetTexture2D()
및 GetText()
메서드를 제공합니다.
다음은 맞춤 네이티브 광고에서 애셋에 액세스하는 구현의 예입니다.
private bool adLoaded;
private Texture2D mainImageTexture;
private string headline;
private CustomNativeAd customNativeAd;
...
void Update()
{
if(adLoaded)
{
mainImageTexture = customNativeAd.GetTexture2D("MainImage");
headline = customNativeAd.GetText("Headline");
adLoaded = false;
}
}
...
void HandleCustomNativeAdLoaded(object sender, CustomNativeAdEventArgs args)
{
customNativeAd = args.nativeAd;
adLoaded = true;
...
}
맞춤 네이티브 광고의 노출 및 클릭 처리
맞춤 네이티브 광고를 사용하면 앱에서 노출을 기록하고 SDK에 클릭 이벤트를 보고해야 합니다.
노출 기록
맞춤 광고의 노출을 기록하려면 다음과 같이 해당 CustomNativeAd
에서 RecordImpression()
메서드를 호출하세요.
customNativeAd.RecordImpression();
클릭 보고
애셋에서 클릭이 발생했음을 SDK에 보고하려면 해당 CustomNativeAd
에서 PerformClick()
메서드를 호출하고 클릭이 발생한 애셋의 이름을 전달하세요. 예를 들어 맞춤 형식에 'MainImage'라는 애셋이 있으며, 이 애셋에 해당하는 텍스처에 대한 클릭을 보고하려는 경우 다음과 같은 코드를 사용할 수 있습니다.
customNativeAd.PerformClick("MainImage");
맞춤 클릭 액션에 응답
맞춤 광고에 대한 클릭이 보고되면 SDK는 다음 순서에 따라 응답을 시도합니다.
광고의 딥 링크 URL에 대한 콘텐츠 리졸버를 찾아서 처음으로 리졸브하는 항목을 시작합니다.
브라우저를 열고 광고의 기존 도착 URL로 이동합니다.
사용자를 딥 링크 또는 웹브라우저로 연결하는 대신 맞춤 네이티브 광고 형식의 클릭 액션을 직접 처리하려면 AdLoader.Builder.ForCustomNativeAd()
메서드에 Action<CustomNativeAd, string>
(선택사항)을 제공하세요. 이 맞춤 클릭 액션을 설정하면 SDK의 클릭 동작이 재정의됩니다. 다음은 맞춤 클릭 액션을 사용하여 특정 애셋에 대한 클릭을 로그하는 방법의 예입니다.
private void LoadCustomNativeAd()
{
AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
.ForCustomNativeAd("10063170", HandleCustomNativeAdClicked)
.Build();
adLoader.OnCustomNativeAdLoaded += HandleCustomNativeAdLoaded;
adLoader.LoadAd(createAdRequest());
}
private void HandleCustomNativeAdClicked(CustomNativeAd customNativeAd, string assetName)
{
Debug.Log("Custom Native ad asset with name " + assetName + " was clicked.");
}