맞춤 네이티브 광고 형식

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("/6499/example/native")
            .ForCustomNativeAd("10063170")
            .Build();
    adLoader.LoadAd(new AdRequest.Builder().Build());
}

2개 이상의 맞춤 네이티브 광고 형식을 제공하도록 단일 광고 단위를 설정할 수 있으므로, 서로 다른 형식 ID를 이용하여 ForCustomNativeAd()를 여러 번 호출함으로써 맞춤 네이티브 광고 형식이 2개 이상 게재되도록 광고 로더를 준비할 수 있습니다.

맞춤 네이티브 광고 이벤트

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("/6499/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.");
}