맞춤 네이티브 광고 형식

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는 다음 순서에 따라 응답을 시도합니다.

  1. 광고의 딥 링크 URL에 대한 콘텐츠 리졸버를 찾아서 처음으로 리졸브하는 항목을 시작합니다.

  2. 브라우저를 열고 광고의 기존 도착 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.");
}