Reklamy pełnoekranowe


Reklamy pełnoekranowe zajmują cały ekran aplikacji, dopóki użytkownik ich nie zamknie. Zazwyczaj wyświetlają się w naturalnych punktach przejścia przepływu aplikacji, np. między działaniami lub podczas przerwy między działaniami poziomów w grze. Gdy w aplikacji wyświetli się reklama pełnoekranowa, użytkownik może wybrać, może kliknąć reklamę i przejść do miejsca docelowego lub zamknąć ją i wrócić do aplikacji. Studium przypadku

Z tego przewodnika dowiesz się, jak zintegrować reklamy pełnoekranowe z aplikacjami na Androida i iOS za pomocą pakietu SDK do reklam mobilnych Google w języku C++.

Wymagania wstępne

Zawsze testuj reklamy za pomocą reklam testowych

Podczas tworzenia i testowania aplikacji używaj reklam testowych, a nie reklam, aktywne reklamy. Jeśli tego nie zrobisz, możemy zawiesić Twoje konto.

Najłatwiejszym sposobem wczytania reklam testowych jest użycie specjalnego identyfikatora testowego reklam pełnoekranowych – różnią się w zależności od platformy urządzenia:

  • System Android: ca-app-pub-3940256099942544/1033173712
  • System iOS: ca-app-pub-3940256099942544/4411468910

Zostały specjalnie skonfigurowane tak, aby wyświetlać reklamy testowe w przypadku każdego żądania. możesz używać go we własnych aplikacjach podczas kodowania, testowania i debugowania. Pamiętaj tylko, aby zastąpić go własnym identyfikatorem jednostki reklamowej przed opublikowaniem .

Więcej informacji o działaniu reklam testowych w pakiecie SDK do reklam mobilnych znajdziesz na stronie Reklamy testowe.

Implementacja

Główne etapy integracji reklam pełnoekranowych:

  1. Wczytaj reklamę.
  2. Rejestrowanie wywołań zwrotnych.
  3. wyświetlać reklamę i obsługiwać zdarzenia jej cyklu życia;

Konfigurowanie: InterstitialAd

Reklamy pełnoekranowe są wyświetlane w InterstitialAd obiektach, więc pierwszy krok integracji reklam pełnoekranowych z aplikacją jest utworzenie i zainicjowanie InterstitialAd obiekt.

  1. Dodaj do kodu C++ aplikacji ten nagłówek:

     #include "firebase/gma/interstial_ad.h"
    

  2. Zadeklaruj i utwórz instancję obiektu InterstitialAd:

     firebase::gma::InterstitialAd* interstitial_ad;
     interstitial_ad = new firebase::gma::InterstitialAd();
    

  3. Zainicjuj wystąpienie InterstitialAd, używając widoku nadrzędnego przekazanego do typu AdParent. Widok nadrzędny to odniesienie jobject JNI do Androida Activity lub wskaźnik do iOS UIView.

    // my_ad_parent is a jobject reference to an Android Activity or
    // a pointer to an iOS UIView.
    firebase::gma::AdParent ad_parent =
      static_cast<firebase::gma::AdParent>(my_ad_parent);
    firebase::Future<void> result = interstitial_ad->Initialize(ad_parent);
    
  4. Zamiast przechowywać przyszłość jako zmienną, możesz okresowo sprawdzać stan operacji inicjalizacji, wywołując funkcję InitializeLastResult() obiektu InterstitialAd. Może to być przydatne do śledzenia procesu inicjalizacji w globalnej pętli gry.

    // Monitor the status of the future in your game loop:
    firebase::Future<void> result = interstitial_ad->InitializeLastResult();
    if (result.status() == firebase::kFutureStatusComplete) {
      // Initialization completed.
      if(future.error() == firebase::gma::kAdErrorCodeNone) {
        // Initialization successful.
      } else {
        // An error has occurred.
      }
    } else {
      // Initialization on-going.
    }
    

Więcej informacji o pracy z firebase::Future znajdziesz tutaj: Używaj transakcji terminowych do monitorowania stanu realizacji metody

Wczytywanie reklamy

Wczytywanie reklamy odbywa się za pomocą metody LoadAd() obiektu InterstitialAd. Metoda wczytywania wymaga zainicjowania InterstitialAd oraz że masz identyfikator jednostki reklamowej i AdRequest obiektu. Zwrócony zostanie element firebase::Future, którego możesz używać do monitorowania stanu. i wyniku operacji wczytywania.

Poniższy kod pokazuje, jak wczytać reklamę po pomyślnym zainicjowaniu interfejsu InterstitialAd:

firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result;
load_ad_result = interstitial_ad->LoadAd(interstitial_ad_unit_id, ad_request);

Zarejestruj się na wywołania zwrotne

Aby otrzymywać powiadomienia o wyświetlaniu reklam pełnoekranowych i zdarzeniach cyklu życia, musisz rozszerzyć klasę FullScreenContentListener. Twój niestandardowy Podklasę FullScreenContentListener można zarejestrować w InterstitialAd::SetFullScreenContentListener(), a otrzyma ona wywołania zwrotne, gdy reklama wyświetla się prawidłowo lub nieskutecznie, a także gdy odrzucana.

Poniższy kod pokazuje, jak rozszerzyć klasę i przypisać ją do reklamy:

  class ExampleFullScreenContentListener
      : public firebase::gma::FullScreenContentListener {

   public:
    ExampleFullScreenContentListener() {}

    void OnAdClicked() override {
      // This method is invoked when the user clicks the ad.
    }

    void OnAdDismissedFullScreenContent() override {
     // This method is invoked when the ad dismisses full screen content.
    }

    void OnAdFailedToShowFullScreenContent(const AdError& error) override {
      // This method is invoked when the ad failed to show full screen content.
      // Details about the error are contained within the AdError parameter.
    }

    void OnAdImpression() override {
      // This method is invoked when an impression is recorded for an ad.
    }

    void OnAdShowedFullScreenContent() override {
      // This method is invoked when the ad showed its full screen content.
    }
  };

  ExampleFullScreenContentListener* full_screen_content_listener =
    new ExampleFullScreenContentListener();
  interstitial_ad->SetFullScreenContentListener(full_screen_content_listener);

InterstitialAd to obiekt jednorazowego użytku. Oznacza to, że po wyświetleniu reklamy pełnoekranowej reklama została wyświetlona, nie można jej wyświetlić ponownie. Sprawdzoną metodą jest wczytywanie kolejnej reklamy pełnoekranowej w metodie OnAdDismissedFullScreenContent() w Twoim pliku FullScreenContentListener, aby następna reklama pełnoekranowa zaczęła się wczytywać, gdy tylko zamkniesz poprzednią.

Wyświetlanie reklamy

Reklamy pełnoekranowe powinny się wyświetlać podczas naturalnych przerw w korzystaniu z aplikacji. Dobrym przykładem jest przechodzenie między poziomami gry lub zakończenie zadania przez użytkownika. FullScreenContentListener pozwala natomiast określić, kiedy reklama wyświetli treści na pełnym ekranie, to, co wyświetli się użytkownikowi Show(), będzie również sygnalizowany po wyświetleniu reklamy.

  firebase::Future<void> result = interstitial_ad->Show();

Sprawdzone metody

Zastanów się, czy reklamy pełnoekranowe to odpowiedni typ reklamy dla Twojej aplikacji.
Reklamy pełnoekranowe sprawdzają się najlepiej w aplikacjach z naturalnymi punktami przejściowymi. zakończenie zadania w aplikacji, np. udostępnienie zdjęcia lub ukończenie gry. tworzy taki punkt. Użytkownik spodziewa się przerwy w działaniu, więc łatwo jest wyświetlić reklamę pełnoekranową bez zakłócania jego doświadczeń. Zastanów się, na których etapach pracy w aplikacji jak wyświetlają się reklamy pełnoekranowe i jak prawdopodobne jest, że użytkownik zareaguje.
Pamiętaj, aby wstrzymać działanie podczas wyświetlania reklamy pełnoekranowej.
Jest wiele różnych typów reklam pełnoekranowych: tekstowe, graficzne, wideo i inne materiały. Upewnij się, że gdy aplikacja wyświetla reklama pełnoekranowa wstrzymuje również korzystanie z niektórych zasobów, aby umożliwić jak je wykorzystać. Na przykład, gdy wywołasz metodę wyświetlania reklamy interwsty, zatrzymaj wszystkie dźwięki generowane przez aplikację. Możesz wznowić odtwarzanie dźwięku za pomocą metody OnAdDismissedFullScreenContent w zainstalowanej aplikacji FullScreenContentListener, która zostanie wywołana, gdy użytkownik zakończy interakcję z reklamą. Rozważ też tymczasowe wstrzymanie intensywne zadania obliczeniowe (np. pętla gry) w trakcie odtwarzania reklamy. . Dzięki temu użytkownik nie będzie mieć problemów z powolnym działaniem grafiki lub jej zacinaniem się albo z zacinaniem się filmu.
Zaplanuj odpowiedni czas wczytywania.
Równie ważne jest wyświetlanie reklam pełnoekranowych w odpowiednim czasie, należy też upewnić się, że użytkownik nie będzie musiał czekać aby je załadować. Wczytanie reklamy z wyprzedzeniem, zanim zamierzasz ją wyświetlić, może zapewnić, że w momencie wyświetlenia reklamy pełnoekranowej będzie ona w pełni załadowana.
Nie zalewaj użytkownika reklamami.
Zwiększenie częstotliwości wyświetlania reklam pełnoekranowych w aplikacji może się wydawać świetnym sposobem na zwiększenie przychodów, ale może też pogarszać wrażenia użytkowników i niższych współczynnikach klikalności. Zadbaj o to, aby użytkownicy nie byli zbyt często przerywane, ponieważ uniemożliwia im to korzystanie z aplikacji.
Nie używaj przyszłej daty zakończenia wczytywania do wyświetlania reklamy pełnoekranowej.
Może to negatywnie wpłynąć na wrażenia użytkowników. Zamiast tego pobierz reklamę z wyprzedzeniem, zanim będzie trzeba ją wyświetlić.

Dodatkowe materiały

Przykład w GitHubie

Samouczki wideo z Garage dla reklam mobilnych

Historie sukcesu

Dalsze kroki