Niestandardowe formaty reklam natywnych

Wydawcy Ad Managera mogą tworzyć własne formaty reklam natywnych, definiując niestandardowe listy zasobów. Są to tzw. niestandardowe formaty reklam natywnych i można ich używać z reklamami zarezerwowanymi. Niestandardowe reklamy natywne umożliwiają wydawcom przekazywanie do aplikacji dowolnych danych graficznych i ciągów tekstowych. Te dane są reprezentowane przez obiekt CustomNativeAd.

Wczytywanie niestandardowej reklamy natywnej

Niestandardowe reklamy natywne są wczytywane za pomocą obiektów AdLoader. Metoda ForCustomNativeAd() konfiguruje właściwość AdLoader do obsługi niestandardowych reklam natywnych. Ta metoda udostępnia 2 parametry:

  • formatId reklamy niestandardowej, o które AdLoader powinna poprosić. Z każdym niestandardowym formatem reklamy natywnej powiązana jest wartość identyfikatora formatu. Ten parametr określa format żądania, którego wymaga aplikacja AdLoader.
  • Opcjonalne pole Action<CustomNativeAd, string>, które ma być wywoływane, gdy użytkownik kliknie reklamę.

Niestandardowe reklamy natywne są ładowane przez klasę AdLoader, która ma własną klasę AdLoader.Builder, aby dostosować ją podczas tworzenia. Metoda ForCustomNativeAd() konfiguruje właściwość AdLoader do obsługi reklam natywnych.

void LoadCustomNativeAd()
{
    AdLoader adLoader = new AdLoader.Builder("/6499/example/native")
            .ForCustomNativeAd("10063170")
            .Build();
    adLoader.LoadAd(new AdRequest.Builder().Build());
}

Pojedyncza jednostka reklamowa może zostać skonfigurowana do wyświetlania więcej niż 1 formatu reklamy natywnej, dlatego ForCustomNativeAd() może być wywoływana wielokrotnie z różnymi identyfikatorami formatów, aby ładować program wczytujący pod kątem kilku możliwych niestandardowych formatów reklam natywnych.

Niestandardowe zdarzenia reklamy natywnej

Klasa AdLoader dostarcza zdarzenia reklamowe typu EventHandler, aby powiadamiać Cię o niestandardowym cyklu życia reklamy natywnej. Poniższy przykład pokazuje, jak zarejestrować niestandardowe zdarzenia reklamy natywnej w programie wczytującym reklamy:

private AdLoader adLoader;
adLoader.OnCustomNativeAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;

Metoda HandleCustomNativeAdLoaded() zawiera parametr CustomNativeAdEventArgs. Ten parametr zdarzenia umożliwi Ci dostęp do wczytanej niestandardowej reklamy natywnej, jak pokazano poniżej:

void HandleCustomNativeAdLoaded(object sender, CustomNativeAdEventArgs args)
{
    this.customNativeAd = args.nativeAd;
}

Metoda HandleCustomNativeAdFailedToLoad() zawiera parametr AdFailedToLoadEventArgs. Dostęp do komunikatu o błędzie można uzyskać, wywołując metodę GetMessage w polu LoadAdError, jak pokazano poniżej:

void HandleCustomNativeAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    string message = args.LoadAdError.GetMessage();
    Debug.Log("Ad Loader fail event received with message: " + message);
}

Niestandardowe formaty reklam natywnych

Niestandardowe reklamy natywne obsługują dowolną liczbę zasobów graficznych i tekstowych zdefiniowanych przez użytkownika. Dostęp do tych zasobów można uzyskać za pomocą klasy CustomNativeAd, która udostępnia metody GetTexture2D() i GetText(), które pobierają identyfikator zmiennej pola formatu jako parametr.

Oto przykład implementacji, który uzyskuje dostęp do zasobów z niestandardowej reklamy natywnej:

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;
    ...
}

Obsługa niestandardowych wyświetleń i kliknięć reklam natywnych

Niestandardowe reklamy natywne umożliwiają rejestrowanie wyświetleń i raportowanie zdarzeń kliknięć w pakiecie SDK.

Rejestruj wyświetlenia

Aby zarejestrować wyświetlenie reklamy niestandardowej, wywołaj metodę RecordImpression() w odpowiednim pliku CustomNativeAd:

customNativeAd.RecordImpression();

Raportuj kliknięcia

Aby zgłosić pakiet SDK, że do danego zasobu zostało kliknięte, wywołaj metodę PerformClick() na stronie CustomNativeAd i przekaż nazwę klikniętego zasobu. Jeśli np. masz zasób w formacie niestandardowym o nazwie "MainImage" i chcesz zgłosić kliknięcie tekstury odpowiadającej temu zasobowi, Twój kod będzie wyglądać tak:

customNativeAd.PerformClick("MainImage");

Reagowanie na działania niestandardowe związane z kliknięciami

W przypadku kliknięcia reklamy niestandardowej testowana jest możliwa odpowiedź z pakietu SDK w tej kolejności:

  1. Znajdź resolver treści w przypadku adresu URL precyzyjnego linku reklamy i rozpocznij pierwszy, który zadziała.

  2. Otwórz przeglądarkę i przejdź do tradycyjnego docelowego adresu URL reklamy.

Jeśli chcesz samodzielnie wykonać czynność kliknięcia niestandardowych formatów reklam natywnych, zamiast przekierowywać użytkownika do precyzyjnego linku lub przeglądarki, podaj w metodzie AdLoader.Builder.ForCustomNativeAd() opcjonalną właściwość Action<CustomNativeAd, string>. Ustawiając to niestandardowe działanie kliknięcia, zastępujesz zachowanie kliknięcia pakietu SDK. Oto przykład, który używa niestandardowego działania kliknięcia do zalogowania kliknięcia danego zasobu:

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